From 9f2326d30c0fcb19d2d47e2946ede204338bff85 Mon Sep 17 00:00:00 2001 From: ozone10 Date: Fri, 18 Apr 2025 19:14:50 +0200 Subject: [PATCH] Fix GDI leak in setStartupBgColor - remove unneeded icon color constants Fix #16442, close #16443 --- PowerEditor/src/Notepad_plus_Window.cpp | 5 +++-- PowerEditor/src/NppDarkMode.cpp | 13 ++++--------- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/PowerEditor/src/Notepad_plus_Window.cpp b/PowerEditor/src/Notepad_plus_Window.cpp index 42cfb016e..6b9114a46 100644 --- a/PowerEditor/src/Notepad_plus_Window.cpp +++ b/PowerEditor/src/Notepad_plus_Window.cpp @@ -54,12 +54,13 @@ void Notepad_plus_Window::setStartupBgColor(COLORREF BgColor) RECT windowClientArea; HDC hdc = GetDCEx(_hSelf, NULL, DCX_CACHE | DCX_LOCKWINDOWUPDATE); //lock window update flag due to PaintLocker GetClientRect(_hSelf, &windowClientArea); - FillRect(hdc, &windowClientArea, CreateSolidBrush(BgColor)); + HBRUSH hBrush = ::CreateSolidBrush(BgColor); + ::FillRect(hdc, &windowClientArea, hBrush); + ::DeleteObject(hBrush); ReleaseDC(_hSelf, hdc); } - void Notepad_plus_Window::init(HINSTANCE hInst, HWND parent, const wchar_t *cmdLine, CmdLineParams *cmdLineParams) { Window::init(hInst, parent); diff --git a/PowerEditor/src/NppDarkMode.cpp b/PowerEditor/src/NppDarkMode.cpp index ed4e27995..31a3c0730 100644 --- a/PowerEditor/src/NppDarkMode.cpp +++ b/PowerEditor/src/NppDarkMode.cpp @@ -392,13 +392,8 @@ namespace NppDarkMode return opt; } - constexpr COLORREF cDefaultMainDark = RGB(0xDE, 0xDE, 0xDE); - constexpr COLORREF cDefaultSecondaryDark = RGB(0x4C, 0xC2, 0xFF); - constexpr COLORREF cDefaultMainLight = RGB(0x21, 0x21, 0x21); - constexpr COLORREF cDefaultSecondaryLight = RGB(0x00, 0x78, 0xD4); - - static COLORREF cAccentDark = cDefaultSecondaryDark; - static COLORREF cAccentLight = cDefaultSecondaryLight; + static COLORREF cAccentDark = g_cDefaultSecondaryDark; + static COLORREF cAccentLight = g_cDefaultSecondaryLight; static COLORREF adjustClrLightness(COLORREF clr, bool useDark) { @@ -436,8 +431,8 @@ namespace NppDarkMode return true; } - cAccentDark = cDefaultSecondaryDark; - cAccentLight = cDefaultSecondaryLight; + cAccentDark = g_cDefaultSecondaryDark; + cAccentLight = g_cDefaultSecondaryLight; return false; }