From cedb545e5cd14b8900a28918a04055d145e20d28 Mon Sep 17 00:00:00 2001 From: Pietro Gagliardi Date: Thu, 30 Oct 2014 08:48:36 -0400 Subject: [PATCH] Okay, REALLY fixed the redraw issues now. A few wacky drawing issues remain, but... not THIS. --- basicctrls_windows.c | 2 +- tab_windows.c | 2 +- window_windows.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/basicctrls_windows.c b/basicctrls_windows.c index 1041b32..b75633e 100644 --- a/basicctrls_windows.c +++ b/basicctrls_windows.c @@ -136,7 +136,7 @@ static LRESULT CALLBACK groupSubProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM if (sharedWndProc(hwnd, uMsg, wParam, lParam, &lResult)) return lResult; switch (uMsg) { - case WM_WINDOWPOSCHANGING: + // don't do this on WM_WINDOWPOSCHANGING; weird redraw issues will happen case WM_WINDOWPOSCHANGED: // don't use the WINDOWPOS rect here; the coordinates of the controls have to be in real client coordinates if (GetClientRect(hwnd, &r) == 0) diff --git a/tab_windows.c b/tab_windows.c index 07935ff..d473999 100644 --- a/tab_windows.c +++ b/tab_windows.c @@ -31,7 +31,7 @@ static LRESULT CALLBACK tabSubProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM l return (*fv_DefSubclassProc)(hwnd, uMsg, wParam, lParam); case msgTabCurrentTabHasChildren: return (LRESULT) tabTabHasChildren((void *) data, SendMessageW(hwnd, TCM_GETCURSEL, 0, 0)); - case WM_WINDOWPOSCHANGING: + // don't do this on WM_WINDOWPOSCHANGING; weird redraw issues will happen case WM_WINDOWPOSCHANGED: wp = (WINDOWPOS *) lParam; resizeRect.left = wp->x; diff --git a/window_windows.c b/window_windows.c index 8f618ab..57dc2a6 100644 --- a/window_windows.c +++ b/window_windows.c @@ -28,7 +28,7 @@ static LRESULT CALLBACK windowWndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARA if (FillRect((HDC) wParam, &r, windowBackground) == 0) xpanic("error filling WM_PRINTCLIENT DC with window background color", GetLastError()); return lResult; - case WM_WINDOWPOSCHANGING: + // don't do this on WM_WINDOWPOSCHANGING; weird redraw issues will happen case WM_WINDOWPOSCHANGED: if (GetClientRect(hwnd, &r) == 0) xpanic("error getting client rect for Window in WM_SIZE", GetLastError());