X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/dae167759cbdc426f955a667f8cc4c8e45aaf92f..be11d578d1cc99aab3b49517d5f89ae029cfba6c:/src/os2/window.cpp?ds=sidebyside diff --git a/src/os2/window.cpp b/src/os2/window.cpp index 2a899ef618..75900f1d95 100644 --- a/src/os2/window.cpp +++ b/src/os2/window.cpp @@ -1699,7 +1699,7 @@ bool wxWindow::OS2TranslateMessage( WXMSG* pMsg ) { - return m_acceleratorTable.Translate(this, pMsg); + return m_acceleratorTable.Translate(m_hWnd, pMsg); } // end of wxWindow::OS2TranslateMessage // --------------------------------------------------------------------------- @@ -1813,7 +1813,7 @@ MRESULT EXPENTRY wxWndProc( { if (pWnd) rc = pWnd->OS2WindowProc(ulMsg, wParam, lParam); - else + if (!rc) rc = ::WinDefWindowProc(hWnd, ulMsg, wParam, lParam); } return rc; @@ -1954,7 +1954,6 @@ MRESULT wxWindow::OS2WindowProc( bProcessed = HandleMouseEvent(uMsg, x, y, (WXUINT)wParam); } break; - case WM_SYSCOMMAND: bProcessed = HandleSysCommand(wParam, lParam); break; @@ -2154,7 +2153,7 @@ MRESULT wxWindow::OS2WindowProc( // wxFrame specific message case WM_MINMAXFRAME: - bProcessed = HandleGetMinMaxInfo((PSWP)lParam); + bProcessed = HandleGetMinMaxInfo((PSWP)wParam); break; case WM_SYSVALUECHANGED: @@ -2357,7 +2356,7 @@ bool wxWindow::OS2Create( (ULONG)zClass == (ULONG)WC_COMBOBOX || (ULONG)zClass == (ULONG)WC_CONTAINER || (ULONG)zClass == (ULONG)WC_ENTRYFIELD || - (ULONG)zClass == (ULONG)WC_FRAME || + (ULONG)zClass == (ULONG)WC_FRAME || (ULONG)zClass == (ULONG)WC_LISTBOX || (ULONG)zClass == (ULONG)WC_MENU || (ULONG)zClass == (ULONG)WC_NOTEBOOK || @@ -2395,6 +2394,7 @@ bool wxWindow::OS2Create( wxLogError("Can't create window of class %s!. Error: %s\n", zClass, sError); return FALSE; } + ::WinSetWindowULong(m_hWnd, QWL_USER, (ULONG) this); wxWndHook = NULL; #ifdef __WXDEBUG__ @@ -2796,6 +2796,9 @@ void wxWindow::OnSysColourChanged( bool wxWindow::HandlePaint() { HRGN hRgn = NULLHANDLE; + wxPaintEvent vEvent; + HPS hPS; + RECTL vRect; if (::WinQueryUpdateRegion(GetHwnd(), hRgn) == RGN_NULL) { @@ -2804,7 +2807,9 @@ bool wxWindow::HandlePaint() } m_updateRegion = wxRegion(hRgn); - wxPaintEvent vEvent; + hPS = WinBeginPaint(GetHwnd(), 0L, &vRect); + WinFillRect(hPS, &vRect, SYSCLR_WINDOW); + WinEndPaint(hPS); vEvent.SetEventObject(this); return (GetEventHandler()->ProcessEvent(vEvent));