From 31b35bfe05740beac6481e6ff8d365f2a9cebbb3 Mon Sep 17 00:00:00 2001 From: Jonas Kümmerlin Date: Tue, 21 Apr 2020 21:14:27 +0200 Subject: embarrassing notebook content flicker fixes --- alf/alflayout.cpp | 1 + alf/alfnotebook.cpp | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'alf') diff --git a/alf/alflayout.cpp b/alf/alflayout.cpp index 2dfe16d..5c1ad55 100644 --- a/alf/alflayout.cpp +++ b/alf/alflayout.cpp @@ -403,6 +403,7 @@ ALF_Layout_Apply(ALFLayout* layout, HWND window) if (bgcolor == ALF_COLOR_TRANSPARENT) { RECT oldR; GetWindowRect(c->hwnd, &oldR); + MapWindowRect(NULL, window, &oldR); if (oldR.left != r.left || oldR.top != r.top) { if (c->flags & ALF_LAYOUT_SENDBGCHANGE) { diff --git a/alf/alfnotebook.cpp b/alf/alfnotebook.cpp index 6679ec4..143defa 100644 --- a/alf/alfnotebook.cpp +++ b/alf/alfnotebook.cpp @@ -306,6 +306,7 @@ ALF__NotebookWindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) RECT oldR; GetWindowRect(priv->hwndTabCtrl, &oldR); + TabCtrl_AdjustRect(priv->hwndTabCtrl, FALSE, &oldR); HDWP hdwp = BeginDeferWindowPos(n+1); @@ -328,7 +329,9 @@ ALF__NotebookWindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) EndDeferWindowPos(hdwp); - if (priv->hTheme && ((oldR.bottom - oldR.top) != (r.bottom - r.top))) { + if (priv->hTheme + && !(priv->flags & ALF_NOTEBOOK_SOLID_TAB_BACKGROUND) + && ((oldR.bottom - oldR.top) != (r.bottom - r.top))) { // only needed when height changes, since bg is tiled horizontally HWND panel = ALF_NotebookSelectedPanel(hwnd); if (panel != NULL) -- cgit v1.2.3