https://bugs.winehq.org/show_bug.cgi?id=55405
Bug ID: 55405 Summary: FreeCommander crashing immediately after it starts, when Windows version is set above Windows XP Product: Wine Version: 8.13 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: mywine@schiermeier-it.de Distribution: ---
Created attachment 74965 --> https://bugs.winehq.org/attachment.cgi?id=74965 Console log from start of FreeCommander with Windows version set to v10
Installation of FreeCommander 32bit is working without any error. When it should start it crashes. Depending on the version Windows is set to, it behaves like this:
Windows XP: works Windows 7: crash at the start with a stack overflow error, show in a message box Windows 10: a window came up and disappears immediately without any message (box)
Console output for Windows 10 is attached.
https://bugs.winehq.org/show_bug.cgi?id=55405
Joerg Schiermeier mywine@schiermeier-it.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mywine@schiermeier-it.de URL| |https://freecommander.com/d | |ownloads/FreeCommanderXE-32 | |-public_setup.zip
https://bugs.winehq.org/show_bug.cgi?id=55405
Bernhard Übelacker bernhardu@mailbox.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |bernhardu@mailbox.org
--- Comment #1 from Bernhard Übelacker bernhardu@mailbox.org --- Bug #42149 is also about FreeCommander might be related to this one.
Tested with this version: 8ef975dec9aaa3d801c656be1c1c4547 FreeCommanderXE-32-public_setup.zip
FreeCommander is a Delphi application, a crash dialog received during testing showed this: compiled with : Delphi 10.4 Sydney
The issue could be related to this logging: 0118:trace:shell:SHGetKnownFolderIDList {b4bfcc3a-db2c-424c-b029-7fe99a87c641}, 0x00001000, 00000000, 0221FE88 0118:fixme:shell:SHGetKnownFolderIDList unsupported flags: 0x00001000
This flag is: KF_FLAG_NO_ALIAS And the GUID is: FOLDERID_Desktop
Further I think this is also related to bug #27559. Based on comment https://bugs.winehq.org/show_bug.cgi?id=27559#c24 I found below modification makes FreeCommander start without crash. That way the returned pidl should contain the expected path.
(However the listview stays empty, might be #54878, gets drawn with windows version set to 8.)
--- a/dlls/shell32/shellpath.c +++ b/dlls/shell32/shellpath.c @@ -4593,7 +4593,7 @@ HRESULT WINAPI SHGetKnownFolderIDList(REFKNOWNFOLDERID rfid, DWORD flags, HANDLE FIXME("user token is not used.\n");
*pidl = NULL; - if (IsEqualIID(rfid, &FOLDERID_Desktop)) + if (IsEqualIID(rfid, &FOLDERID_Desktop) && !(flags & KF_FLAG_NO_ALIAS)) *pidl = _ILCreateDesktop(); else if (IsEqualIID(rfid, &FOLDERID_RecycleBinFolder)) *pidl = _ILCreateBitBucket();
https://bugs.winehq.org/show_bug.cgi?id=55405
Joerg Schiermeier mywine@schiermeier-it.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|FreeCommander crashing |FreeCommander is crashing |immediately after it |immediately after it |starts, when Windows |starts, when Windows |version is set above |version is set above |Windows XP |Windows XP