X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d66d050088ee2012542a2d2607b5329ff5f3a491..f275b5dbfd061df2d64d0cdda203dc0fb468f229:/src/msw/window.cpp diff --git a/src/msw/window.cpp b/src/msw/window.cpp index 7a81ded775..ea9a66c3c0 100644 --- a/src/msw/window.cpp +++ b/src/msw/window.cpp @@ -1987,6 +1987,11 @@ void wxWindowMSW::DoMoveWindow(int x, int y, int width, int height) #if USE_DEFERRED_SIZING m_pendingPosition = wxPoint(x, y); m_pendingSize = wxSize(width, height); + } + else // window was moved immediately, without deferring it + { + m_pendingPosition = wxDefaultPosition; + m_pendingSize = wxDefaultSize; #endif // USE_DEFERRED_SIZING } } @@ -3418,12 +3423,12 @@ WXLRESULT wxWindowMSW::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM l rc.result = MSWDefWindowProc(message, wParam, lParam); processed = true; - // now alter the client size making room for drawing a themed border - NCCALCSIZE_PARAMS *csparam = NULL; + // now alter the client size making room for drawing a + // themed border RECT *rect; if ( wParam ) { - csparam = (NCCALCSIZE_PARAMS *)lParam; + NCCALCSIZE_PARAMS *csparam = (NCCALCSIZE_PARAMS *)lParam; rect = &csparam->rgrc[0]; } else @@ -4262,13 +4267,14 @@ bool wxWindowMSW::HandlePower(WXWPARAM WXUNUSED_IN_WINCE(wParam), bool wxWindowMSW::IsDoubleBuffered() const { - const wxWindowMSW *wnd = this; - do + for ( const wxWindowMSW *win = this; win; win = win->GetParent() ) { - if ( wxHasWindowExStyle(wnd, WS_EX_COMPOSITED) ) + if ( wxHasWindowExStyle(win, WS_EX_COMPOSITED) ) return true; - wnd = wnd->GetParent(); - } while ( wnd && !wnd->IsTopLevel() ); + + if ( win->IsTopLevel() ) + break; + } return false; }