X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/687706f5e722ac8a39172024f794ae0ffbd190e2..a6140a4c171601c75c8ab91e8c79bc7f28df8266:/src/os2/window.cpp diff --git a/src/os2/window.cpp b/src/os2/window.cpp index 9c096f077d..7458e0eb70 100644 --- a/src/os2/window.cpp +++ b/src/os2/window.cpp @@ -1623,12 +1623,19 @@ void wxWindowOS2::DoMoveWindow( ,vSwpScroll.cy - nAdjustHeight ,SWP_MOVE | SWP_SIZE ); - nYDiff += nAdjustHeight; + nYDiff -= nAdjustHeight; } MoveChildren(nYDiff); ::WinQueryWindowPos(GetHwnd(), &m_vWinSwp); } +#if 0 + // FIXME: By my logic, the next line should be needed as it moves child + // windows when resizing the parent (see comment at beginning of + // function). However, this seems to cause lots of problems. At + // least, e.g. the grid sample almost works with this line + // commented out but crashes badly with it. MoveChildren(nHeightDelta); +#endif } // end of wxWindowOS2::DoMoveWindow // @@ -1786,11 +1793,6 @@ void wxWindowOS2::DoSetClientSize( GetEventHandler()->ProcessEvent(vEvent); } // end of wxWindowOS2::DoSetClientSize -wxPoint wxWindowOS2::GetClientAreaOrigin() const -{ - return wxPoint(0, 0); -} // end of wxWindowOS2::GetClientAreaOrigin - // --------------------------------------------------------------------------- // text metrics // --------------------------------------------------------------------------- @@ -4421,6 +4423,10 @@ void wxWindowOS2::MoveChildren( ::WinQueryWindowPos( GetHwndOf(pWin) ,&vSwp ); + // Actually, only move children that already are placed on the + // frame, not ones which are still at wxDefaultCoord. + if (vSwp.y == wxDefaultCoord) + continue; if (pWin->IsKindOf(CLASSINFO(wxControl))) { wxControl* pCtrl;