X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/53c3a78b332746fbdbeb1a681edda54ef333b8d2..7af68c666bda771e37812ca37f0c6cc1741fa3ec:/src/msw/combobox.cpp diff --git a/src/msw/combobox.cpp b/src/msw/combobox.cpp index aa72d70d57..ceb2d59b8e 100644 --- a/src/msw/combobox.cpp +++ b/src/msw/combobox.cpp @@ -96,14 +96,24 @@ 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; -#if 0 case WM_GETDLGCODE: { wxCHECK_MSG( win, 0, _T("should have a parent") ); @@ -115,7 +125,6 @@ LRESULT APIENTRY _EXPORT wxComboEditWndProc(HWND hWnd, } } break; -#endif // 0 // deal with tooltips here #if wxUSE_TOOLTIPS && defined(TTN_NEEDTEXT)