From 4292bf86ab7a6e6c1b8c2f6611037684ff6fceea Mon Sep 17 00:00:00 2001 From: Mirek Fidler Date: Thu, 4 Dec 2025 12:05:23 +0100 Subject: [PATCH] CtrlCore: Fixed problem with custom titlebar icon refresh --- uppsrc/CtrlCore/TopWin32.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/uppsrc/CtrlCore/TopWin32.cpp b/uppsrc/CtrlCore/TopWin32.cpp index 91a165f61..7dc6519b9 100644 --- a/uppsrc/CtrlCore/TopWin32.cpp +++ b/uppsrc/CtrlCore/TopWin32.cpp @@ -202,6 +202,21 @@ void TopWindow::SetIco() ico = new_ico; lico = new_lico; + + if(custom_titlebar) { + Rect r = GetTitleBarRect(this); + + bool maximized = IsMaximized(); + Image icon = GetIcon(); + if(IsNull(icon)) + r.right = r.left + GetWin32TitleBarButtonWidth(); + else { + if(max(icon.GetHeight(), icon.GetWidth()) > 32) + icon = CachedRescale(icon, Size(32, 32)); + r.right = r.left + DPI(IsMaximized() ? 2 : 4) + icon.GetWidth(); + } + InvalidateRect(hwnd, r, FALSE); + } } }