diff --git a/src/msw/window.cpp b/src/msw/window.cpp index 51243e6392..a6f3d3a4c1 100644 --- a/src/msw/window.cpp +++ b/src/msw/window.cpp @@ -2010,7 +2010,10 @@ bool wxWindowMSW::MSWProcessMessage(WXMSG* pMsg) node; node = node->GetNext() ) { - if ( node->GetData()->AcceptsFocus() ) + wxWindow * const win = node->GetData(); + if ( win->AcceptsFocus() && + !(::GetWindowLong(GetHwndOf(win), GWL_EXSTYLE) & + WS_EX_CONTROLPARENT) ) { // it shouldn't hang... canSafelyCallIsDlgMsg = TRUE; @@ -2019,7 +2022,7 @@ bool wxWindowMSW::MSWProcessMessage(WXMSG* pMsg) } } } -#endif +#endif // !__WXWINCE__ if ( canSafelyCallIsDlgMsg ) {