X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ceb8f94a9603ac6fc1778799587af3b0ac215aa9..8d36b2167df7e86ecfc58d148eaf6abe0a5b7971:/src/os2/utilsgui.cpp diff --git a/src/os2/utilsgui.cpp b/src/os2/utilsgui.cpp index 52701bb3c6..a48d2a0936 100644 --- a/src/os2/utilsgui.cpp +++ b/src/os2/utilsgui.cpp @@ -57,8 +57,6 @@ public: } }; -static wxTimer* wxTheSleepTimer = NULL; - // Reading and writing resources (eg WIN.INI, .Xdefaults) #if wxUSE_RESOURCES bool wxWriteResource( @@ -335,7 +333,6 @@ bool wxCheckForInterrupt( QMSG vMsg; HAB hab = 0; HWND hwndFilter = NULLHANDLE; - HWND hwndWin= (HWND) pWnd->GetHWND(); while(::WinPeekMsg(hab, &vMsg, hwndFilter, 0, 0, PM_REMOVE)) { @@ -473,6 +470,16 @@ void wxClientDisplayRect(int *x, int *y, int *width, int *height) wxDisplaySize(width, height); } +void wxGUIAppTraits::InitializeGui(unsigned long &ulHab) +{ + ulHab = ::WinInitialize(0); +} + +void wxGUIAppTraits::TerminateGui(unsigned long ulHab) +{ + ::WinTerminate(ulHab); +} + wxToolkitInfo & wxGUIAppTraits::GetToolkitInfo() { static wxToolkitInfo vInfo; @@ -508,10 +515,12 @@ wxString WXDLLEXPORT wxGetWindowText( ) { wxString vStr; - long lLen = ::WinQueryWindowTextLength((HWND)hWnd) + 1; - ::WinQueryWindowText((HWND)hWnd, lLen, vStr.GetWriteBuf((int)lLen)); - vStr.UngetWriteBuf(); + if ( hWnd ) + { + long lLen = ::WinQueryWindowTextLength((HWND)hWnd) + 1; + ::WinQueryWindowText((HWND)hWnd, lLen, wxStringBuffer(vStr, lLen)); + } return vStr; } @@ -521,22 +530,24 @@ wxString WXDLLEXPORT wxGetWindowClass( ) { wxString vStr; - int nLen = 256; // some starting value - - for ( ;; ) + if ( hWnd ) { - int nCount = ::WinQueryClassName((HWND)hWnd, nLen, vStr.GetWriteBuf(nLen)); - - vStr.UngetWriteBuf(); - if (nCount == nLen ) - { - // the class name might have been truncated, retry with larger - // buffer - nLen *= 2; - } - else - { - break; + int nLen = 256; // some starting value + + for ( ;; ) + { + int nCount = ::WinQueryClassName((HWND)hWnd, nLen, wxStringBuffer(vStr, nLen)); + + if (nCount == nLen ) + { + // the class name might have been truncated, retry with larger + // buffer + nLen *= 2; + } + else + { + break; + } } } return vStr;