FIX: cm_OpenArchive behavior for registered extensions

(cherry picked from commit 698d682e04)
This commit is contained in:
Alexander Koblov 2026-03-16 17:04:18 +03:00
commit fa62f723cd

View file

@ -283,7 +283,16 @@ begin
WcxPlugin := gWCXPlugins.LoadModule(ModuleFileName);
if Assigned(WcxPlugin) then
begin
if ((gWCXPlugins.Flags[I] and PK_CAPS_BY_CONTENT) = PK_CAPS_BY_CONTENT) then
if MatchesMask(anArchiveFileName, AllFilesMask + ExtensionSeparator + gWCXPlugins.Ext[I]) then
begin
anArchiveHandle:= WcxPlugin.OpenArchiveHandle(anArchiveFileName, PK_OM_LIST, lOpenResult);
if (anArchiveHandle <> 0) and (lOpenResult = E_SUCCESS) then
begin
bFound:= True;
Break;
end;
end
else if ((gWCXPlugins.Flags[I] and PK_CAPS_BY_CONTENT) = PK_CAPS_BY_CONTENT) then
begin
if (WcxPlugin <> WcxPrevious) then
begin
@ -298,11 +307,6 @@ begin
end;
end;
end;
end
else if ((gWCXPlugins.Flags[I] and PK_CAPS_HIDE) = PK_CAPS_HIDE) then
begin
bFound:= MatchesMask(anArchiveFileName, AllFilesMask + ExtensionSeparator + gWCXPlugins.Ext[I]);
if bFound then Break;
end;
end;
end;