From 5637cc3551ae5be79f5c8040552271472a9cdae2 Mon Sep 17 00:00:00 2001 From: Julian Smart Date: Wed, 14 Jun 2006 13:11:53 +0000 Subject: [PATCH] Fix for wrong combobox/height being reported if set size is pending git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39717 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/msw/window.h | 2 ++ src/msw/choice.cpp | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/include/wx/msw/window.h b/include/wx/msw/window.h index 16e1139b6d..964a71b560 100644 --- a/include/wx/msw/window.h +++ b/include/wx/msw/window.h @@ -517,12 +517,14 @@ private: // current defer window position operation handle (may be NULL) WXHANDLE m_hDWP; +protected: // When deferred positioning is done these hold the pending changes, and // are used for the default values if another size/pos changes is done on // this window before the group of deferred changes is completed. wxPoint m_pendingPosition; wxSize m_pendingSize; +private: #ifdef __POCKETPC__ bool m_contextMenuEnabled; #endif diff --git a/src/msw/choice.cpp b/src/msw/choice.cpp index 80cc353d68..f5e0ce73f5 100644 --- a/src/msw/choice.cpp +++ b/src/msw/choice.cpp @@ -542,6 +542,11 @@ void wxChoice::DoSetSize(int x, int y, wxControl::DoSetSize(x, y, width, height, sizeFlags); + // If we're storing a pending size, make sure we store + // the original size for reporting back to the app. + if (m_pendingSize != wxDefaultSize) + m_pendingSize = wxSize(width, heightOrig); + // This solution works on XP, but causes choice/combobox lists to be // too short on W2K and earlier. #if 0 -- 2.47.2