X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/136cb3c7a9fff4252c2bb48aac5db124f8dc3ce0..a582395301f296706dc9e59d0346cddd165eacd8:/src/msw/mslu.cpp?ds=sidebyside diff --git a/src/msw/mslu.cpp b/src/msw/mslu.cpp index 8e1dea110d..6975dc0ded 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,12 +44,15 @@ #include #include +#include #ifdef __GNUWIN32__ #include - #include #endif +#ifdef __VISUALC__ + #include +#endif // Undef redirection macros defined in wx/msw/mslu.h: #undef DrawStateW @@ -62,13 +65,13 @@ #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() ) @@ -80,7 +83,7 @@ WXDLLEXPORT bool wxMSLU_DrawStateW(WXHDC dc, WXHBRUSH br, WXFARPROC outputFunc, } 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 +91,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 +112,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;