Reviewed by Darin.
authormjs <mjs@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 18 Aug 2004 00:09:46 +0000 (00:09 +0000)
committermjs <mjs@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 18 Aug 2004 00:09:46 +0000 (00:09 +0000)
<rdar://problem/3703768> CrashTracer: ...50 crashes at com.apple.WebCore: KHTMLPart::xmlDocImpl const + 0

        * khtml/khtmlview.cpp:
        (KHTMLView::viewportMouseMoveEvent): Add a nil check and an
assertion for m_part being null. It seems impossible for this to
happen, so we want to debug it ourselves, but in the meantime,
let's try to avoid causing crashes for our users.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7282 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebCore/ChangeLog-2005-08-23
WebCore/khtml/khtmlview.cpp

index d7ed73e06ce32537bff761d48810f2585cbb9da1..7e2fa4e4124271528c7a4b82207710ba0ea21c7d 100644 (file)
@@ -1,3 +1,15 @@
+2004-08-17  Maciej Stachowiak  <mjs@apple.com>
+
+        Reviewed by Darin.
+
+       <rdar://problem/3703768> CrashTracer: ...50 crashes at com.apple.WebCore: KHTMLPart::xmlDocImpl const + 0
+       
+        * khtml/khtmlview.cpp:
+        (KHTMLView::viewportMouseMoveEvent): Add a nil check and an
+       assertion for m_part being null. It seems impossible for this to
+       happen, so we want to debug it ourselves, but in the meantime,
+       let's try to avoid causing crashes for our users.
+
 2004-08-17  David Hyatt  <hyatt@apple.com>
 
        Fix the line truncation function for Emerson so that at the far left setting of the slider, only the header
index f829ee55627cdf11c8235a219315d2b7200fcc29..738fff03460a0cc5283aa281a4fd537a4234a032 100644 (file)
@@ -832,7 +832,12 @@ static bool isSubmitImage(DOM::NodeImpl *node)
 
 void KHTMLView::viewportMouseMoveEvent( QMouseEvent * _mouse )
 {
-    if(!m_part->xmlDocImpl()) return;
+    // in Radar 3703768 we saw frequent crashes apparently due to the
+    // part being null here, which seems impossible, so check for nil
+    // but also assert so that we can try to figure this out in debug
+    // builds, if it happens.
+    assert(m_part);
+    if(!m_part || !m_part->xmlDocImpl()) return;
 
     int xm, ym;
     viewportToContents(_mouse->x(), _mouse->y(), xm, ym);