Returning WVR_REDRAW triggers Windows bug that moves child windows, so don't use it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62018 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart
2009-09-22 15:20:17 +00:00
parent 57f2175441
commit 140d93c024

View File

@@ -3446,9 +3446,10 @@ WXLRESULT wxWindowMSW::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM l
// now alter the client size making room for drawing a // now alter the client size making room for drawing a
// themed border // themed border
RECT *rect; RECT *rect;
NCCALCSIZE_PARAMS *csparam = NULL;
if ( wParam ) if ( wParam )
{ {
NCCALCSIZE_PARAMS *csparam = (NCCALCSIZE_PARAMS *)lParam; csparam = (NCCALCSIZE_PARAMS *)lParam;
rect = &csparam->rgrc[0]; rect = &csparam->rgrc[0];
} }
else else
@@ -3471,8 +3472,14 @@ WXLRESULT wxWindowMSW::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM l
&rcClient) == S_OK ) &rcClient) == S_OK )
{ {
InflateRect(&rcClient, -1, -1); InflateRect(&rcClient, -1, -1);
*rect = rcClient; if (wParam)
rc.result = WVR_REDRAW; csparam->rgrc[0] = rcClient;
else
*((RECT*)lParam) = rcClient;
// WVR_REDRAW triggers a bug whereby child windows are moved up and left,
// so don't use.
// rc.result = WVR_REDRAW;
} }
} }
} }