]> git.saurik.com Git - wxWidgets.git/commitdiff
Reverted/commented out unsuccessful defer fix
authorJulian Smart <julian@anthemion.co.uk>
Thu, 28 Apr 2005 18:21:03 +0000 (18:21 +0000)
committerJulian Smart <julian@anthemion.co.uk>
Thu, 28 Apr 2005 18:21:03 +0000 (18:21 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33911 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/changes.txt
src/msw/radiobox.cpp
src/msw/slider95.cpp
src/msw/spinctrl.cpp
src/msw/window.cpp

index 0ca9f953bb7b9f6d791b5fd67cde98a3f88f2999..1cc442e0531a904ac119369283d15ff4c21d7b3f 100644 (file)
@@ -13,8 +13,6 @@ wxMSW:
 
 - Fixed erroneous selection of content in wxComboBox when within a wxStaticBox
   (checking for selection caused by WM_STYLECHANGED).
-- Worked around an apparent bug in Windows whereby some deferred positioning
-  failed: specifically when changing a position from x, to y, to x again.
 - Added deferred positioning to wxRadioBox, wxSlider and wxSpinCtrl and thereby
   eliminated some refresh glitches when resizing.
 - Eliminated further refresh glitches caused by wxRadioBox (to nearby controls)
index 82c3471b219b68ee56a801423ee8c50d0385100d..dcbbe091513b1a6c47dd04f236b65db483f63f0f 100644 (file)
@@ -719,7 +719,7 @@ wxRadioBox::MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam)
     // in a dynamic layout. Refreshing causes flicker, but it's better than
     // leaving droppings. Note that for some reason, wxStaticBox doesn't need
     // this (perhaps because it has no real children?)
-    else if (nMsg == WM_MOVE && IsKindOf(CLASSINFO(wxRadioBox)))
+    else if (nMsg == WM_MOVE)
     {
         WXLRESULT res = wxControl::MSWWindowProc(nMsg, wParam, lParam);
         wxRect rect = GetRect();
index 7efe6d803d66d003162243c1e7247541af6e07bc..35380bd868ae503f2e426cbd1d4412d2cf5ac6af 100644 (file)
@@ -43,6 +43,7 @@
 #endif
 
 #define USE_DEFERRED_SIZING 1
+#define USE_DEFER_BUG_WORKAROUND 0
 
 // ----------------------------------------------------------------------------
 // constants
index 907fb9f882865446d6115335f57d2e718bc9c4fb..b33dee669ba330e10f1a0f2a8267513267add69e 100644 (file)
@@ -46,6 +46,7 @@
 #include <limits.h>         // for INT_MIN
 
 #define USE_DEFERRED_SIZING 1
+#define USE_DEFER_BUG_WORKAROUND 0
 
 // ----------------------------------------------------------------------------
 // macros
@@ -610,6 +611,7 @@ void wxSpinCtrl::DoMoveWindow(int x, int y, int width, int height)
 // get total size of the control
 void wxSpinCtrl::DoGetSize(int *x, int *y) const
 {
+#if USE_DEFER_BUG_WORKAROUND
     wxExtraWindowData* extraData = (wxExtraWindowData*) m_windowReserved;
     if (extraData && extraData->m_deferring && GetParent() && GetParent()->m_hDWP)
     {
@@ -617,6 +619,7 @@ void wxSpinCtrl::DoGetSize(int *x, int *y) const
         *y = extraData->m_size.y;
         return;
     }
+#endif
     
     RECT spinrect, textrect, ctrlrect;
     GetWindowRect(GetHwnd(), &spinrect);
@@ -631,6 +634,7 @@ void wxSpinCtrl::DoGetSize(int *x, int *y) const
 
 void wxSpinCtrl::DoGetPosition(int *x, int *y) const
 {
+#if USE_DEFER_BUG_WORKAROUND
     wxExtraWindowData* extraData = (wxExtraWindowData*) m_windowReserved;
     if (extraData && extraData->m_deferring && GetParent() && GetParent()->m_hDWP)
     {
@@ -638,6 +642,7 @@ void wxSpinCtrl::DoGetPosition(int *x, int *y) const
         *y = extraData->m_pos.y;
         return;
     }
+#endif
 
     // hack: pretend that our HWND is the text control just for a moment
     WXHWND hWnd = GetHWND();
index a0f4fe625504b2762287fc335e023bc8c4fec423..c2a83c03479db67175c1371610f21c6cf4ac24ca 100644 (file)
 #endif // everything needed for TrackMouseEvent()
 
 #define USE_DEFERRED_SIZING 1
+#define USE_DEFER_BUG_WORKAROUND 0
 
 // ---------------------------------------------------------------------------
 // global variables
@@ -1451,6 +1452,7 @@ void wxWindowMSW::DoSetToolTip(wxToolTip *tooltip)
 // Get total size
 void wxWindowMSW::DoGetSize(int *x, int *y) const
 {
+#if USE_DEFER_BUG_WORKAROUND
     wxExtraWindowData* extraData = (wxExtraWindowData*) m_windowReserved;
     if (extraData && extraData->m_deferring && GetParent() && GetParent()->m_hDWP)
     {
@@ -1458,6 +1460,7 @@ void wxWindowMSW::DoGetSize(int *x, int *y) const
         *y = extraData->m_size.y;
         return;
     }
+#endif
 
     RECT rect = wxGetWindowRect(GetHwnd());
 
@@ -1480,6 +1483,7 @@ void wxWindowMSW::DoGetClientSize(int *x, int *y) const
 
 void wxWindowMSW::DoGetPosition(int *x, int *y) const
 {
+#if USE_DEFER_BUG_WORKAROUND
     wxExtraWindowData* extraData = (wxExtraWindowData*) m_windowReserved;
     if (extraData && extraData->m_deferring && GetParent() && GetParent()->m_hDWP)
     {
@@ -1487,6 +1491,7 @@ void wxWindowMSW::DoGetPosition(int *x, int *y) const
         *y = extraData->m_pos.y;
         return;
     }
+#endif
 
     RECT rect = wxGetWindowRect(GetHwnd());
 
@@ -4241,6 +4246,7 @@ bool wxWindowMSW::HandleSize(int WXUNUSED(w), int WXUNUSED(h), WXUINT wParam)
             wxLogLastError(_T("EndDeferWindowPos"));
         }
 
+#if USE_DEFER_BUG_WORKAROUND
         // Seems to be a bug in DeferWindowPos such that going from (a) to (b) to (a)
         // doesn't work (omits last position/size). So check if there's a disparity,
         // and correct.
@@ -4260,6 +4266,7 @@ bool wxWindowMSW::HandleSize(int WXUNUSED(w), int WXUNUSED(h), WXUINT wParam)
                 extraData->m_deferring = false;
             }
         }
+#endif
     }
 #endif