Преглед изворни кода

Bug 1805 – Failure when switching between light and dark interface themes + Toggling between light and dark interface theme is faster

https://winscp.net/tracker/1805
(cherry picked from commit 58000ee3e2eb907cbece11e0beee2f2833fdfb8b)

Source commit: 6ebdd52350d3d9e9a7c3545ade69f6908932ea24
Martin Prikryl пре 6 година
родитељ
комит
65a7264789

+ 3 - 1
source/packages/filemng/CustomDirView.pas

@@ -3230,7 +3230,9 @@ begin
   if DarkMode <> Value then
   begin
     FDarkMode := Value;
-    RecreateWnd;
+    // Call only when switching to dark more and when switching back to the light mode.
+    // But not for initial light mode - To reduce an impact of calling an undocumented function.
+    if HandleAllocated then AllowDarkModeForWindow(Self, DarkMode);
   end;
 end;
 

+ 2 - 1
source/packages/filemng/CustomDriveView.pas

@@ -1225,7 +1225,8 @@ begin
   if DarkMode <> Value then
   begin
     FDarkMode := Value;
-    RecreateWnd;
+    // See TCustomDirView.SetDarkMode
+    if HandleAllocated then AllowDarkModeForWindow(Self, DarkMode);
   end;
 end;