Reviewed by Geoff.
authormjs <mjs@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 11 May 2007 22:03:18 +0000 (22:03 +0000)
committermjs <mjs@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 11 May 2007 22:03:18 +0000 (22:03 +0000)
        - fixed <rdar://problem/5197621> closing second window crashed webkit (13660)
        http://bugs.webkit.org/show_bug.cgi?id=13660

        No test case; not testable.

        * page/mac/FrameMac.mm:
        (WebCore::Frame::cleanupPlatformScriptObjects): Check if the interpreter is null;
        if so, we don't want to do work that may lazily create it while the Frame is being
        destroyed.

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

WebCore/ChangeLog
WebCore/page/mac/FrameMac.mm

index 00a5be5..4c00e4a 100644 (file)
@@ -1,3 +1,19 @@
+<<<<<<< .mine
+2007-05-11  Maciej Stachowiak  <mjs@apple.com>
+
+        Reviewed by Geoff.
+        
+        - fixed <rdar://problem/5197621> closing second window crashed webkit (13660)
+        http://bugs.webkit.org/show_bug.cgi?id=13660
+
+        No test case; not testable.
+
+        * page/mac/FrameMac.mm:
+        (WebCore::Frame::cleanupPlatformScriptObjects): Check if the interpreter is null;
+        if so, we don't want to do work that may lazily create it while the Frame is being
+        destroyed.
+
+=======
 2007-05-11  Oliver Hunt  <oliver@apple.com>
 
         Reviewed by Brady.
@@ -23,6 +39,7 @@
           Don't create SVG elements for documents that are in dashboard
           compatibility mode
 
+>>>>>>> .r21418
 2007-05-11  Holger Hans Peter Freyther  <zecke@selfish.org>
 
         Reviewed by Maciej.
index 8c2609e..61a7564 100644 (file)
@@ -732,7 +732,8 @@ void Frame::cleanupPlatformScriptObjects()
     // (This problem is unique to m_windowScriptObject because its JS/DOM counterparts
     // persist across page loads.)
     removeDOMWrapper(reinterpret_cast<DOMObjectInternal*>(d->m_domWindow.get()));
-    removeJSWrapper(KJS::Window::retrieveWindow(this));
+    if (d->m_jscript->haveInterpreter())
+        removeJSWrapper(KJS::Window::retrieveWindow(this));
     d->m_windowScriptObject = 0;
 }