2007-08-10 Ada Chan <adachan@apple.com>
authoradachan <adachan@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 11 Aug 2007 00:05:43 +0000 (00:05 +0000)
committeradachan <adachan@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 11 Aug 2007 00:05:43 +0000 (00:05 +0000)
        Reviewed by Adam and Darin.

        <rdar://problem/5403095> Crash in WebViewWndProc after closing a window
        We are seeing another case where WM_SETFOCUS is sent after WM_DESTROY has been handled in WebView.
        Bail early in the wndProc if WebView is set to be destroyed.

        * WebView.cpp:
        (WebViewWndProc):

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

WebKit/win/ChangeLog
WebKit/win/WebView.cpp

index db9a30aedf7b8adb5e8e8f7dc54e0d6e55ede809..6555a8ba6f875cb31dc9bcac7d5a7d067954b424 100644 (file)
@@ -1,3 +1,14 @@
+2007-08-10  Ada Chan  <adachan@apple.com>
+
+        Reviewed by Adam and Darin.
+        
+        <rdar://problem/5403095> Crash in WebViewWndProc after closing a window
+        We are seeing another case where WM_SETFOCUS is sent after WM_DESTROY has been handled in WebView.
+        Bail early in the wndProc if WebView is set to be destroyed.
+
+        * WebView.cpp:
+        (WebViewWndProc):
+
 2007-08-02  Ada Chan  <adachan@apple.com>
 
         Reviewed by Steve.
index f88be98f0e108ac402c7d52936e2d595c85be7ae..856aa812f96bac9440391c10e431a5cc98f1f32d 100644 (file)
@@ -1140,7 +1140,7 @@ static LRESULT CALLBACK WebViewWndProc(HWND hWnd, UINT message, WPARAM wParam, L
     LONG_PTR longPtr = GetWindowLongPtr(hWnd, 0);
     WebView* webView = reinterpret_cast<WebView*>(longPtr);
     WebFrame* mainFrameImpl = webView ? webView->topLevelFrame() : 0;
-    if (!mainFrameImpl)
+    if (!mainFrameImpl || webView->isBeingDestroyed())
         return DefWindowProc(hWnd, message, wParam, lParam);
 
     ASSERT(webView);