From 879dcac2f175944bc0c54419531c1b043645d3d2 Mon Sep 17 00:00:00 2001 From: David Webster Date: Fri, 30 Aug 2002 13:39:01 +0000 Subject: [PATCH] Fix to allow proper positioning of child windows under OS/2 when auto layouts are not being done. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16862 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/generic/panelg.cpp | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/generic/panelg.cpp b/src/generic/panelg.cpp index a67f7da2e5..0c7b85fb42 100644 --- a/src/generic/panelg.cpp +++ b/src/generic/panelg.cpp @@ -108,6 +108,33 @@ void wxPanel::OnSize(wxSizeEvent& event) if (GetAutoLayout()) Layout(); #endif // wxUSE_CONSTRAINTS + + // + // Need to properly move child windows under OS/2 + // +#if defined(__WXPM__) + else + { + PSWP pWinSwp = GetSwp(); + + if (pWinSwp->cx == 0 && pWinSwp->cy == 0 && pWinSwp->fl == 0) + // + // Uninitialized + // + ::WinQueryWindowPos(GetHWND(), pWinSwp); + else + { + SWP vSwp; + int nYDiff; + + ::WinQueryWindowPos(GetHWND(), &vSwp); + nYDiff = pWinSwp->cy - vSwp.cy; + MoveChildren(nYDiff); + pWinSwp->cx = vSwp.cx; + pWinSwp->cy = vSwp.cy; + } + } +#endif event.Skip(); }