]> git.saurik.com Git - wxWidgets.git/commitdiff
suppress an assert when a combobox receives WM_KILLFOCUS while it is being destroyed
authorVadim Zeitlin <vadim@wxwidgets.org>
Thu, 13 Jun 2002 20:41:13 +0000 (20:41 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Thu, 13 Jun 2002 20:41:13 +0000 (20:41 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@15829 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/msw/combobox.cpp

index aa72d70d57d8899452ab2e0967c389a89d2ca78c..e8bfc1b6d563b866f978398e0b6efc8067dc2cf9 100644 (file)
@@ -96,10 +96,21 @@ LRESULT APIENTRY _EXPORT wxComboEditWndProc(HWND hWnd,
         case WM_KILLFOCUS:
             {
                 wxComboBox *combo = wxDynamicCast(win, wxComboBox);
-                wxCHECK_MSG( combo, 0, _T("should have combo as parent") );
-
-                if ( combo->MSWProcessEditMsg(message, wParam, lParam) )
+                if ( !combo )
+                {
+                    // we can get WM_KILLFOCUS while our parent is already half
+                    // destroyed and hence doesn't look like a combobx any
+                    // longer, check for it to avoid bogus assert failures
+                    if ( !win->IsBeingDeleted() )
+                    {
+                        wxFAIL_MSG( _T("should have combo as parent") );
+                    }
+                }
+                else if ( combo->MSWProcessEditMsg(message, wParam, lParam) )
+                {
+                    // handled by parent
                     return 0;
+                }
             }
             break;