X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/54ffa10747e51b9fa8c52b7f864e187e82fd4919..8805e155446d3daf293941189136b0f371766f13:/src/os2/app.cpp diff --git a/src/os2/app.cpp b/src/os2/app.cpp index a2608efbf2..f6b538d15a 100644 --- a/src/os2/app.cpp +++ b/src/os2/app.cpp @@ -422,6 +422,18 @@ bool wxApp::RegisterWindowClasses( wxLogLastError(sError); return FALSE; } + if (!::WinRegisterClass( vHab + ,wxCanvasClassNameNR + ,wxWndProc + ,CS_HITTEST | CS_SYNCPAINT + ,sizeof(ULONG) + )) + { + vError = ::WinGetLastError(vHab); + sError = wxPMErrorToStr(vError); + wxLogLastError(sError); + return FALSE; + } return TRUE; } // end of wxApp::RegisterWindowClasses @@ -667,12 +679,10 @@ wxApp::wxApp() { m_topWindow = NULL; wxTheApp = this; - m_wantDebugOutput = TRUE; argc = 0; argv = NULL; m_nPrintMode = wxPRINT_WINDOWS; - m_exitOnFrameDelete = TRUE; m_bAuto3D = TRUE; m_hMq = 0; m_maxSocketHandles = 0; @@ -770,10 +780,7 @@ bool wxApp::DoMessage() { QMSG vMsg = svSavedMessages[n]; - if ( !ProcessMessage((WXMSG *)&vMsg) ) - { - ::WinDispatchMsg(vHabmain, &vMsg); - } + DoMessage((WXMSG*)&vMsg); } svSavedMessages.Empty(); } @@ -851,13 +858,13 @@ bool wxApp::ProcessIdle() void wxApp::ExitMainLoop() { - m_bKeepGoing = FALSE; -} + ::WinPostMsg(NULL, WM_QUIT, 0, 0); +} // end of wxApp::ExitMainLoop bool wxApp::Pending() { return (::WinPeekMsg(vHabmain, (PQMSG)&svCurrentMsg, (HWND)NULL, 0, 0, PM_NOREMOVE) != 0); -} +} // end of wxApp::Pending void wxApp::Dispatch() { @@ -880,25 +887,15 @@ bool wxApp::ProcessMessage( wxWindow* pWndThis = wxFindWinFromHandle((WXHWND)hWnd); wxWindow* pWnd; -#if wxUSE_TOOLTIPS // - // We must relay WM_MOUSEMOVE events to the tooltip ctrl if we want it to - // popup the tooltip bubbles + // Pass non-system timer messages to the wxTimerProc // - if (pWndThis && (pMsg->msg == WM_MOUSEMOVE)) - { - wxToolTip* pToolTip = pWndThis->GetToolTip(); - if (pToolTip) - { - pToolTip->RelayEvent(pWxmsg); - } - } -#endif // wxUSE_TOOLTIPS - - // - // We must relay Timer events to wxTimer's processing function - // - if (pMsg->msg == WM_TIMER) + if (pMsg->msg == WM_TIMER && + (SHORT1FROMMP(pMsg->mp1) != TID_CURSOR && + SHORT1FROMMP(pMsg->mp1) != TID_FLASHWINDOW && + SHORT1FROMMP(pMsg->mp1) != TID_SCROLL && + SHORT1FROMMP(pMsg->mp1) != 0x0000 + )) wxTimerProc(NULL, 0, (int)pMsg->mp1, 0); // @@ -1171,31 +1168,6 @@ bool wxApp::Yield(bool onlyIfNeeded) return TRUE; } // end of wxYield -wxIcon wxApp::GetStdIcon( - int nWhich -) const -{ - switch(nWhich) - { - case wxICON_INFORMATION: - return wxIcon("wxICON_INFO"); - - case wxICON_QUESTION: - return wxIcon("wxICON_QUESTION"); - - case wxICON_EXCLAMATION: - return wxIcon("wxICON_WARNING"); - - default: - wxFAIL_MSG(wxT("requested non existent standard icon")); - // still fall through - - case wxICON_HAND: - return wxIcon("wxICON_ERROR"); - } - return wxIcon("wxICON_ERROR"); -} // end of wxApp::GetStdIcon - int wxApp::AddSocketHandler(int handle, int mask, void (*callback)(void*), void * gsock) {