X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/136cb3c7a9fff4252c2bb48aac5db124f8dc3ce0..e8508ea8a890c90e6e72b2579780ca2ccbf40270:/src/msw/mslu.cpp diff --git a/src/msw/mslu.cpp b/src/msw/mslu.cpp index 8e1dea110d..be480f683f 100644 --- a/src/msw/mslu.cpp +++ b/src/msw/mslu.cpp @@ -34,7 +34,7 @@ // by calling the char version. We still want to use wchar_t version on // NT/2000/XP, though, because they allow for Unicode file names. // -// Moreover, there are bugs in unicows.dll, of course. We have to +// Moreover, there are bugs in unicows.dll, of course. We have to // workaround them, too. // //------------------------------------------------------------------------ @@ -44,13 +44,12 @@ #include #include +#include -#ifdef __GNUWIN32__ - #include - #include +#ifdef __VISUALC__ + #include #endif - // Undef redirection macros defined in wx/msw/mslu.h: #undef DrawStateW #undef GetOpenFileNameW @@ -62,25 +61,25 @@ #if wxUSE_GUI -WXDLLEXPORT bool wxMSLU_DrawStateW(WXHDC dc, WXHBRUSH br, WXFARPROC outputFunc, - WXLPARAM lData, WXWPARAM wData, - int x, int y, int cx, int cy, +WXDLLEXPORT int wxMSLU_DrawStateW(WXHDC dc, WXHBRUSH br, WXFARPROC outputFunc, + WXLPARAM lData, WXWPARAM wData, + int x, int y, int cx, int cy, unsigned int flags) { // VS: There's yet another bug in MSLU: DrawStateW behaves like if it was - // expecting char*, not wchar_t* input. We have to use DrawStateA + // expecting char*, not wchar_t* input. We have to use DrawStateA // explicitly. if ( wxUsingUnicowsDll() ) { - return DrawStateA((HDC)dc, (HBRUSH)br, (DRAWSTATEPROC)outputFunc, + return DrawStateA((HDC)dc, (HBRUSH)br, (DRAWSTATEPROC)outputFunc, (LPARAM)(const char*) wxConvLocal.cWX2MB((const wxChar*)lData), wData, x, y, cx, cy, flags); } else { - return DrawStateW((HDC)dc, (HBRUSH)br, (DRAWSTATEPROC)outputFunc, + return DrawStateW((HDC)dc, (HBRUSH)br, (DRAWSTATEPROC)outputFunc, lData, wData, x, y, cx, cy, flags); } } @@ -88,10 +87,10 @@ WXDLLEXPORT bool wxMSLU_DrawStateW(WXHDC dc, WXHBRUSH br, WXFARPROC outputFunc, static void wxFixOPENFILENAME(LPOPENFILENAME ofn) { #ifdef OFN_EXPLORER - // VS: there's a bug in unicows.dll - when multiple files are selected, - // of.nFileOffset doesn't point to the first filename but rather to + // VS: there's a bug in unicows.dll - when multiple files are selected, + // of.nFileOffset doesn't point to the first filename but rather to // the last component of directory name. This bug is known to MSLU - // developers, but they are not going to fix it: "this is a true + // developers, but they are not going to fix it: "this is a true // limitation, that we have decided to live with" and "working // harder on this case just did not seem worth the effort"... // @@ -109,17 +108,17 @@ static void wxFixOPENFILENAME(LPOPENFILENAME ofn) #endif } -WXDLLEXPORT bool wxMSLU_GetOpenFileNameW(void *ofn) +WXDLLEXPORT int wxMSLU_GetOpenFileNameW(void *ofn) { - bool ret = GetOpenFileName((LPOPENFILENAME)ofn); + int ret = GetOpenFileName((LPOPENFILENAME)ofn); if ( wxUsingUnicowsDll() && ret != 0 ) wxFixOPENFILENAME((LPOPENFILENAME)ofn); return ret; } -WXDLLEXPORT bool wxMSLU_GetSaveFileNameW(void *ofn) +WXDLLEXPORT int wxMSLU_GetSaveFileNameW(void *ofn) { - bool ret = GetSaveFileName((LPOPENFILENAME)ofn); + int ret = GetSaveFileName((LPOPENFILENAME)ofn); if ( wxUsingUnicowsDll() && ret != 0 ) wxFixOPENFILENAME((LPOPENFILENAME)ofn); return ret;