|
@@ -713,12 +713,15 @@ begin
|
|
|
end;
|
|
|
|
|
|
if (not ForceByName) and Assigned(CurrentItemData.PIDL) then
|
|
|
- shGetFileInfo(PChar(CurrentItemData.PIDL), 0, FileInfo, SizeOf(FileInfo),
|
|
|
+ begin
|
|
|
+ SHGetFileInfo(PChar(CurrentItemData.PIDL), 0, FileInfo, SizeOf(FileInfo),
|
|
|
SHGFI_TYPENAME or SHGFI_USEFILEATTRIBUTES or SHGFI_SYSICONINDEX or SHGFI_PIDL)
|
|
|
- else
|
|
|
- shGetFileInfo(PChar(FileIconForName), 0, FileInfo, SizeOf(FileInfo),
|
|
|
+ end
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ SHGetFileInfo(PChar(FileIconForName), 0, FileInfo, SizeOf(FileInfo),
|
|
|
SHGFI_TYPENAME or SHGFI_USEFILEATTRIBUTES or SHGFI_SYSICONINDEX);
|
|
|
-
|
|
|
+ end;
|
|
|
except
|
|
|
{Capture exceptions generated by the shell}
|
|
|
FSyncIcon := UnKnownFileIcon;
|
|
@@ -732,7 +735,9 @@ begin
|
|
|
if FSyncIcon <> CurrentItemData.ImageIndex then
|
|
|
FNewIcons := True;
|
|
|
if not Terminated then
|
|
|
+ begin
|
|
|
Synchronize(DoUpdateIcon);
|
|
|
+ end;
|
|
|
|
|
|
FreePIDL(CurrentItemData.PIDL);
|
|
|
end;
|
|
@@ -1903,10 +1908,10 @@ begin
|
|
|
begin
|
|
|
try
|
|
|
if IsDirectory then
|
|
|
- shGetFileInfo(PChar(FPath), FILE_ATTRIBUTE_DIRECTORY, FileInfo, SizeOf(FileInfo),
|
|
|
+ SHGetFileInfo(PChar(FPath), FILE_ATTRIBUTE_DIRECTORY, FileInfo, SizeOf(FileInfo),
|
|
|
SHGFI_TYPENAME or SHGFI_USEFILEATTRIBUTES)
|
|
|
else
|
|
|
- shGetFileInfo(PChar(FPath + '\' + FileName), FILE_ATTRIBUTE_NORMAL, FileInfo, SizeOf(FileInfo),
|
|
|
+ SHGetFileInfo(PChar(FPath + '\' + FileName), FILE_ATTRIBUTE_NORMAL, FileInfo, SizeOf(FileInfo),
|
|
|
SHGFI_TYPENAME or SHGFI_USEFILEATTRIBUTES);
|
|
|
TypeName := FileInfo.szTypeName;
|
|
|
except
|
|
@@ -2574,7 +2579,7 @@ begin
|
|
|
Counter := 0;
|
|
|
FIconUpdateThread.Terminate;
|
|
|
FIconUpdateThread.Priority := tpHigher;
|
|
|
- if fIconUpdateThread.Suspended then
|
|
|
+ if FIconUpdateThread.Suspended then
|
|
|
FIconUpdateThread.Resume;
|
|
|
Sleep(0);
|
|
|
|