[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677

darin darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 07:44:38 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit b093badde73863ac9b614d6f811fe84cf0cf8be0
Author: darin <darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Jun 9 22:39:01 2003 +0000

            Reviewed by John.
    
            - first step in fixing 3275675 -- REGRESSION: crash when replacing <div> which contains iframe (at www.kbs.co.kr)
    
            * khtml/rendering/render_object.h: Made m_node protected, so RenderWidget can zero it out.
            * khtml/rendering/render_replaced.cpp: (RenderWidget::detach): Set m_node to 0 here.
            RenderWidget does this strange thing of staying around after the DOM node is gone, but we need
            to get rid of the dangling pointer to the DOM node.
    
            * khtml/rendering/render_frames.cpp:
            (RenderFrame::slotViewCleared): Do nothing if element() is 0, since we are on our way out anyway.
            (RenderPartObject::slotViewCleared): Ditto.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@4506 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index f6879d5..608ed85 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,18 @@
+2003-06-09  Darin Adler  <darin at apple.com>
+
+        Reviewed by John.
+
+        - first step in fixing 3275675 -- REGRESSION: crash when replacing <div> which contains iframe (at www.kbs.co.kr)
+
+        * khtml/rendering/render_object.h: Made m_node protected, so RenderWidget can zero it out.
+        * khtml/rendering/render_replaced.cpp: (RenderWidget::detach): Set m_node to 0 here.
+        RenderWidget does this strange thing of staying around after the DOM node is gone, but we need
+        to get rid of the dangling pointer to the DOM node.
+
+        * khtml/rendering/render_frames.cpp:
+        (RenderFrame::slotViewCleared): Do nothing if element() is 0, since we are on our way out anyway.
+        (RenderPartObject::slotViewCleared): Ditto.
+
 2003-06-09  John Sullivan  <sullivan at apple.com>
 
 	- fixed 3284312 -- repro nil-deref in 
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index f6879d5..608ed85 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,18 @@
+2003-06-09  Darin Adler  <darin at apple.com>
+
+        Reviewed by John.
+
+        - first step in fixing 3275675 -- REGRESSION: crash when replacing <div> which contains iframe (at www.kbs.co.kr)
+
+        * khtml/rendering/render_object.h: Made m_node protected, so RenderWidget can zero it out.
+        * khtml/rendering/render_replaced.cpp: (RenderWidget::detach): Set m_node to 0 here.
+        RenderWidget does this strange thing of staying around after the DOM node is gone, but we need
+        to get rid of the dangling pointer to the DOM node.
+
+        * khtml/rendering/render_frames.cpp:
+        (RenderFrame::slotViewCleared): Do nothing if element() is 0, since we are on our way out anyway.
+        (RenderPartObject::slotViewCleared): Ditto.
+
 2003-06-09  John Sullivan  <sullivan at apple.com>
 
 	- fixed 3284312 -- repro nil-deref in 
diff --git a/WebCore/khtml/rendering/render_frames.cpp b/WebCore/khtml/rendering/render_frames.cpp
index 9e0fdc8..2180a1d 100644
--- a/WebCore/khtml/rendering/render_frames.cpp
+++ b/WebCore/khtml/rendering/render_frames.cpp
@@ -633,7 +633,7 @@ RenderFrame::RenderFrame( DOM::HTMLFrameElementImpl *frame )
 
 void RenderFrame::slotViewCleared()
 {
-    if(m_widget->inherits("QScrollView")) {
+    if(element() && m_widget->inherits("QScrollView")) {
 #ifdef DEBUG_LAYOUT
         kdDebug(6031) << "frame is a scrollview!" << endl;
 #endif
@@ -964,7 +964,7 @@ void RenderPartObject::layout( )
 
 void RenderPartObject::slotViewCleared()
 {
-  if(m_widget->inherits("QScrollView") ) {
+  if(element() && m_widget->inherits("QScrollView") ) {
 #ifdef DEBUG_LAYOUT
       kdDebug(6031) << "iframe is a scrollview!" << endl;
 #endif
diff --git a/WebCore/khtml/rendering/render_object.h b/WebCore/khtml/rendering/render_object.h
index 815f333..0097f0c 100644
--- a/WebCore/khtml/rendering/render_object.h
+++ b/WebCore/khtml/rendering/render_object.h
@@ -626,7 +626,9 @@ protected:
 
 private:
     RenderStyle* m_style;
+protected:
     DOM::NodeImpl* m_node;
+private:
     RenderObject *m_parent;
     RenderObject *m_previous;
     RenderObject *m_next;
diff --git a/WebCore/khtml/rendering/render_replaced.cpp b/WebCore/khtml/rendering/render_replaced.cpp
index 9126917..37cec5f 100644
--- a/WebCore/khtml/rendering/render_replaced.cpp
+++ b/WebCore/khtml/rendering/render_replaced.cpp
@@ -142,6 +142,8 @@ void RenderWidget::detach(RenderArena* renderArena)
         m_widget->setMouseTracking( false );
     }
     
+    m_node = 0;
+    
     deref(renderArena);
 }
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list