From a304be5509e4b7970fa18dcc3316a49269517c07 Mon Sep 17 00:00:00 2001 From: Jonas Kümmerlin Date: Sun, 31 May 2020 20:39:02 +0200 Subject: toplevel: force WS_CLIPCHILDREN style not only for performance, but also at least the combo box has subtly drawing bugs when the toplevel doesn't set this style --- alf/alftoplevel.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'alf') diff --git a/alf/alftoplevel.cpp b/alf/alftoplevel.cpp index d54d4b3..2d2f52d 100644 --- a/alf/alftoplevel.cpp +++ b/alf/alftoplevel.cpp @@ -142,6 +142,13 @@ static LRESULT CALLBACK ALF_Toplevel_WindowProc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) { if (msg == WM_CREATE) { + // fixup default window style flags: we always want WS_CLIPCHILDREN + LONG style = GetWindowLong(hwnd, GWL_STYLE); + if (!(style & WS_CLIPCHILDREN)) { + style |= WS_CLIPCHILDREN; + SetWindowLong(hwnd, GWL_STYLE, style); + } + ALFToplevelPriv *priv = ALF_New(ALFToplevelPriv, 1); SetWindowLongPtr(hwnd, DLGWINDOWEXTRA, (LONG_PTR)priv); ALF_InitializeToplevelPriv(hwnd, priv); -- cgit v1.2.3