瀏覽代碼

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

Source commit: 74683b78bad0850eb46bec7382240f066344e543
Martin Prikryl 6 年之前
父節點
當前提交
58000ee3e2
共有 2 個文件被更改,包括 5 次插入2 次删除
  1. 3 1
      source/packages/filemng/CustomDirView.pas
  2. 2 1
      source/packages/filemng/CustomDriveView.pas

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

@@ -3252,7 +3252,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;