X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/bb0e27ee5af4f92e3ed7651a41ba9171fd997759..cf31a1d7b60feddf23cc30259c6d909d4736ca56:/src/msw/utils.cpp diff --git a/src/msw/utils.cpp b/src/msw/utils.cpp index d8397b413f..590486daf8 100644 --- a/src/msw/utils.cpp +++ b/src/msw/utils.cpp @@ -31,9 +31,11 @@ #ifndef WX_PRECOMP #include "wx/utils.h" #include "wx/app.h" - #include "wx/cursor.h" #include "wx/intl.h" #include "wx/log.h" +#if wxUSE_GUI + #include "wx/cursor.h" +#endif #endif //WX_PRECOMP // In some mingws there is a missing extern "C" int the winsock header, @@ -103,8 +105,6 @@ extern "C" { #include "wx/ioswrap.h" -#include "wx/ioswrap.h" - /* Need to undef new if including crtdbg.h */ # ifdef new # undef new @@ -454,7 +454,9 @@ bool wxGetDiskSpace(const wxString& path, wxLongLong *pTotal, wxLongLong *pFree) if ( path.empty() ) return FALSE; -#ifdef __WIN32__ +// old w32api don't have ULARGE_INTEGER +#if defined(__WIN32__) && \ + (!defined(__GNUWIN32__) || wxCHECK_W32API_VERSION( 0, 3 )) // GetDiskFreeSpaceEx() is not available under original Win95, check for // it typedef BOOL (*GetDiskFreeSpaceEx_t)(LPCTSTR, @@ -1379,59 +1381,47 @@ void wxClientDisplayRect(int *x, int *y, int *width, int *height) wxString WXDLLEXPORT wxGetWindowText(WXHWND hWnd) { wxString str; - int len = GetWindowTextLength((HWND)hWnd) + 1; - GetWindowText((HWND)hWnd, str.GetWriteBuf(len), len); - str.UngetWriteBuf(); + + if ( hWnd ) + { + int len = GetWindowTextLength((HWND)hWnd) + 1; + ::GetWindowText((HWND)hWnd, str.GetWriteBuf(len), len); + str.UngetWriteBuf(); + } return str; } wxString WXDLLEXPORT wxGetWindowClass(WXHWND hWnd) { -#ifdef __WXMICROWIN__ - // MICROWIN_TODO - return wxEmptyString; -#else wxString str; - int len = 256; // some starting value - - for ( ;; ) + // MICROWIN_TODO +#ifndef __WXMICROWIN__ + if ( hWnd ) { - // as we've #undefined GetClassName we must now manually choose the - // right function to call - int count = - - #ifndef __WIN32__ - GetClassName - #else // Win32 - #ifdef UNICODE - GetClassNameW - #else // !Unicode - #ifdef __TWIN32__ - GetClassName - #else // !Twin32 - GetClassNameA - #endif // Twin32/!Twin32 - #endif // Unicode/ANSI - #endif // Win16/32 - ((HWND)hWnd, str.GetWriteBuf(len), len); + int len = 256; // some starting value - str.UngetWriteBuf(); - if ( count == len ) + for ( ;; ) { - // the class name might have been truncated, retry with larger - // buffer - len *= 2; - } - else - { - break; + int count = ::GetClassName((HWND)hWnd, str.GetWriteBuf(len), len); + + str.UngetWriteBuf(); + if ( count == len ) + { + // the class name might have been truncated, retry with larger + // buffer + len *= 2; + } + else + { + break; + } } } +#endif // !__WXMICROWIN__ return str; -#endif } WXWORD WXDLLEXPORT wxGetWindowId(WXHWND hWnd)