X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/774468bd68541b568f2aeeaf8fe77d6141f2927a..f21fcc9d2e6ba3e02a686b4ed11102fdcc4c49bb:/src/os2/window.cpp?ds=inline diff --git a/src/os2/window.cpp b/src/os2/window.cpp index 3c6e0b747e..96931c33eb 100644 --- a/src/os2/window.cpp +++ b/src/os2/window.cpp @@ -33,6 +33,7 @@ #include "wx/frame.h" #include "wx/listbox.h" #include "wx/button.h" + #include "wx/bmpbuttn.h" #include "wx/msgdlg.h" #include "wx/scrolwin.h" #include "wx/radiobox.h" @@ -2233,6 +2234,8 @@ static void wxYieldForCommandsOnly() { wxTheApp->DoMessage((WXMSG*)&vMsg); } + if (vMsg.msg == WM_QUIT) + ::WinPostMsg(NULL, WM_QUIT, 0, 0); } #endif // wxUSE_MENUS_NATIVE @@ -2426,6 +2429,14 @@ bool wxWindowOS2::OS2ProcessMessage( pBtn->OS2Command(BN_CLICKED, 0 /* unused */); return TRUE; } + else if (!IsTopLevel()) + { + // + // if not a top level window, let parent + // handle it + // + return FALSE; + } // else: but if it does not it makes sense to make // it work like a TAB - and that's what we do. // Note that Ctrl-Enter always works this way. @@ -2814,6 +2825,11 @@ MRESULT wxWindowOS2::OS2WindowProc( ,&nX ,&nY ); + if (!pWin->IsOfStandardClass()) + { + if (uMsg == WM_BUTTON1DOWN && pWin->AcceptsFocus() ) + pWin->SetFocus(); + } bProcessed = pWin->HandleMouseEvent( uMsg ,nX ,nY