浏览代码

Issue 2286 – Failure when system theme is changed at the same time directory change is detected (2nd)

https://winscp.net/tracker/2286

Source commit: 2653628fd9b8443e3639043ec6683373f4f4b950
Martin Prikryl 1 年之前
父节点
当前提交
8449bbad93
共有 1 个文件被更改,包括 9 次插入0 次删除
  1. 9 0
      source/packages/my/NortonLikeListView.pas

+ 9 - 0
source/packages/my/NortonLikeListView.pas

@@ -44,6 +44,7 @@ type
     procedure LVMEditLabel(var Message: TMessage); message LVM_EDITLABEL;
     procedure LVMEditLabel(var Message: TMessage); message LVM_EDITLABEL;
     procedure WMSetFocus(var Message: TWMSetFocus); message WM_SETFOCUS;
     procedure WMSetFocus(var Message: TWMSetFocus); message WM_SETFOCUS;
     procedure CMWantSpecialKey(var Message: TCMWantSpecialKey); message CM_WANTSPECIALKEY;
     procedure CMWantSpecialKey(var Message: TCMWantSpecialKey); message CM_WANTSPECIALKEY;
+    procedure WMNCDestroy(var Message: TWMNCDestroy); message WM_NCDESTROY;
     function GetMarkedCount: Integer;
     function GetMarkedCount: Integer;
     function GetMarkedFile: TListItem;
     function GetMarkedFile: TListItem;
     procedure ItemSelected(Item: TListItem; Index: Integer);
     procedure ItemSelected(Item: TListItem; Index: Integer);
@@ -1014,11 +1015,19 @@ begin
   Dec(FUpdatingSelection);
   Dec(FUpdatingSelection);
 end; { EndUpdatingSelection }
 end; { EndUpdatingSelection }
 
 
+procedure TCustomNortonLikeListView.WMNCDestroy(var Message: TWMNCDestroy);
+begin
+  // VCLCOPY
+  FHeaderHandle := 0;
+  inherited;
+end;
+
 procedure TCustomNortonLikeListView.CreateWnd;
 procedure TCustomNortonLikeListView.CreateWnd;
 begin
 begin
   try
   try
     Assert(ColProperties <> nil);
     Assert(ColProperties <> nil);
     inherited;
     inherited;
+    // VCL gets the handle from WM_CREATE
     FHeaderHandle := ListView_GetHeader(Handle);
     FHeaderHandle := ListView_GetHeader(Handle);
 
 
     ColProperties.ListViewWndCreated;
     ColProperties.ListViewWndCreated;