T.C. 10.51 x64: no more icons in menus (Known bug)

Bug reports will be moved here when the described bug has been fixed

Moderators: white, Hacker, petermad, Stefan2

User avatar
karlchen
Power Member
Power Member
Posts: 4601
Joined: 2003-02-06, 22:23 UTC
Location: Germany

T.C. 10.51 x64: no more icons in menus (Known bug)

Post by *karlchen »

Hello, Christian. Hello, folks.

Just noticed a strange issue, which here seems to affect T.C. 10.51 x64 only.
T.C. 10.51 x32 is unaffected.
T.C. 10.50 x64 is unaffected, too.

Environment:
Linux Mint 19.3 x64 Cinnamon, Wine 4.0

Problem affecting T.C. 10.51 x64 only:
In the T.C. application menus no more icons are displayed.
The icons in the buttonbars display correctly.
Cf. screenshot: TC10.51_x64_menu_no_icons.png

If I launch T.C. 10.51 x64 using a fresh ini file, the icons in the application menus are displayed. (wine TOTALCMD64.exe /N)
This seems to point at the wincmd.ini as the culprit.

BUT:
If I launch T.C. 10.51 x32 using the same wincmd.ini, the icons in the application menus are displayed.
Cf. screenshot: TC10.51_x32_menu_icons.png

If I launch T.C. 10.50 x64 using the same wincmd.ini, the icons in the application menus are displayed.
Cf. screenshot: TC10.50_x64_menu_icons.png

Conclusion:
The wincmd.ini (10.51) is unlikely to be the only culprit.
For some reason, unknown to me still, only T.C. 10.51 x64 fails to display the icons in the application menus.
T.C. 10.51 x32, however, does, using the same wincmd.ini. T.C. 10.50 x64 displays the menu icons, too.

Best regards,
Karl
--
I still have to check on MX 19.4 x64, which has got a newer Wine version, whether the same issue occurs there, too.
==
Update: In his reply further down, Christian referred to the reported misbehaviour as "a known bug".
Last edited by karlchen on 2022-09-26, 14:49 UTC, edited 3 times in total.
MX Linux 21.3 64-bit xfce, Total Commander 10.52 64-bit
The people of Alderaan keep on bravely fighting back the clone warriors sent out by the unscrupulous Sith Lord Palpatine.
The Prophet's Song
User avatar
Dalai
Power Member
Power Member
Posts: 9364
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Re: T.C. 10.51 x64: no more icons in menus

Post by *Dalai »

Does Wine output something helpful when you launch TC via a terminal? Is the output different for the various versions/architectures? Maybe there's some error in TC's wcmicons.dll/.inc.

I suggest to try to find the setting causing this, renaming the sections in wincmd.ini step by step.

Regards
Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
User avatar
karlchen
Power Member
Power Member
Posts: 4601
Joined: 2003-02-06, 22:23 UTC
Location: Germany

Re: T.C. 10.51 x64: no more icons in menus

Post by *karlchen »

Hello, Dalai.

This is the terminal output, displayed when launching Total Commander 10.51 32-bit.
Remember: No issues here.

Code: Select all

karl@voyager:~/.wine/drive_c/totalcmd$ wine TOTALCMD.EXE /N
0009:fixme:font:get_outline_text_metrics failed to read full_nameW for font L"Ani"!
0029:fixme:thread:SetThreadStackGuarantee (0xcafeac): stub
0009:fixme:font:freetype_SelectFont Untranslated charset 255
0009:fixme:wtsapi:WTSRegisterSessionNotification Stub 0x20090 0x00000000
0009:fixme:oleacc:AccPropServices_SetHwndPropStr (0x100f6 4294967292 0 {c3a6921b-4a99-44f1-bca6-61187052c431} L"LINKS ")
0009:fixme:oleacc:AccPropServices_SetHwndPropStr (0x100f8 4294967292 0 {c3a6921b-4a99-44f1-bca6-61187052c431} L"RECHTS ")
002d:fixme:win:RegisterDeviceNotificationW (hwnd=0x100fc, filter=0x1d8f5b0,flags=0x00000000) returns a fake device notification handle!
002d:fixme:win:RegisterDeviceNotificationW (hwnd=0x100fc, filter=0x1d8f5b0,flags=0x00000000) returns a fake device notification handle!
002d:fixme:win:RegisterDeviceNotificationW (hwnd=0x100fc, filter=0x1d8f5b0,flags=0x00000000) returns a fake device notification handle!
002d:fixme:win:RegisterDeviceNotificationW (hwnd=0x100fc, filter=0x1d8f5b0,flags=0x00000000) returns a fake device notification handle!
002d:fixme:win:RegisterDeviceNotificationW (hwnd=0x100fc, filter=0x1d8f5b0,flags=0x00000000) returns a fake device notification handle!
0017:fixme:mountmgr:query_property Faking StorageDeviceProperty data
0009:fixme:font:freetype_SelectFont Untranslated charset 255
0017:fixme:mountmgr:harddisk_ioctl returning zero-filled buffer for IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS
0009:fixme:winstation:GetUserObjectSecurity (0x10c 0x33d97c 0x2126d9c len=1024 0x33d96c),stub!
0009:fixme:winstation:GetUserObjectSecurity (0xfffffffe 0x33d97c 0x2120004 len=1024 0x33d96c),stub!
003a:fixme:netapi32:NetShareEnum Stub ((null) 2 0x20af260 32768 0x20af250 0x20af24c 0x20af258)
003c:fixme:shell:ShellFolder2_GetUIObjectOf Unknown interface {00021500-0000-0000-c000-000000000046} in GetUIObjectOf
003e:err:shell:SHGetFileInfoW pidl is null!
003f:err:shell:SHGetFileInfoW pidl is null!
0009:fixme:wtsapi:WTSUnRegisterSessionNotification Stub 0x20090
karl@voyager:~/.wine/drive_c/totalcmd$ 
The menu icons in all T.C. menus display as expected.

Karl
MX Linux 21.3 64-bit xfce, Total Commander 10.52 64-bit
The people of Alderaan keep on bravely fighting back the clone warriors sent out by the unscrupulous Sith Lord Palpatine.
The Prophet's Song
User avatar
karlchen
Power Member
Power Member
Posts: 4601
Joined: 2003-02-06, 22:23 UTC
Location: Germany

Re: T.C. 10.51 x64: no more icons in menus

Post by *karlchen »

Hello, Dalai.

Ths is the terminal output when launching T.C. 10.51 64-bit.
No icons in any of the T.C. application menus.

Code: Select all

karl@voyager:~/.wine/drive_c/totalcmd$ wine TOTALCMD64.EXE /N
002b:fixme:thread:SetThreadStackGuarantee (0x2ddfc48): stub
002a:fixme:wtsapi:WTSRegisterSessionNotification Stub 0x1006a 0x00000000
002a:fixme:oleacc:AccPropServices_SetHwndPropStr (0x101a8 4294967292 0 {c3a6921b-4a99-44f1-bca6-61187052c431} L"LINKS ")
002a:fixme:oleacc:AccPropServices_SetHwndPropStr (0x101aa 4294967292 0 {c3a6921b-4a99-44f1-bca6-61187052c431} L"RECHTS ")
0030:fixme:win:RegisterDeviceNotificationW (hwnd=0x101b0, filter=0x8b8f038,flags=0x00000000) returns a fake device notification handle!
0030:fixme:win:RegisterDeviceNotificationW (hwnd=0x101b0, filter=0x8b8f038,flags=0x00000000) returns a fake device notification handle!
0030:fixme:win:RegisterDeviceNotificationW (hwnd=0x101b0, filter=0x8b8f038,flags=0x00000000) returns a fake device notification handle!
0030:fixme:win:RegisterDeviceNotificationW (hwnd=0x101b0, filter=0x8b8f038,flags=0x00000000) returns a fake device notification handle!
0030:fixme:win:RegisterDeviceNotificationW (hwnd=0x101b0, filter=0x8b8f038,flags=0x00000000) returns a fake device notification handle!
0017:fixme:mountmgr:query_property Faking StorageDeviceProperty data
0017:fixme:mountmgr:harddisk_ioctl returning zero-filled buffer for IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS
002a:fixme:winstation:GetUserObjectSecurity (0x11c 0x1ddca80 0x4e922e0 len=1024 0x1ddca60),stub!
002a:fixme:winstation:GetUserObjectSecurity (0xfffffffffffffffe 0x1ddca80 0x4e92700 len=1024 0x1ddca60),stub!
003d:fixme:netapi32:NetShareEnum Stub ((null) 2 0xbdaee58 32768 0xbdaee48 0xbdaee40 0xbdaee50)
003f:err:shell:SHGetFileInfoW pidl is null!
0040:err:shell:SHGetFileInfoW pidl is null!
0041:err:shell:SHGetFileInfoW pidl is null!
0042:err:shell:SHGetFileInfoW pidl is null!
002a:fixme:wtsapi:WTSUnRegisterSessionNotification Stub 0x1006a
Regards,
Karl
MX Linux 21.3 64-bit xfce, Total Commander 10.52 64-bit
The people of Alderaan keep on bravely fighting back the clone warriors sent out by the unscrupulous Sith Lord Palpatine.
The Prophet's Song
User avatar
karlchen
Power Member
Power Member
Posts: 4601
Joined: 2003-02-06, 22:23 UTC
Location: Germany

Re: T.C. 10.51 x64: no more icons in menus

Post by *karlchen »

And finally, the terminal output, displayed when launching T.C. 10.50 64-bit.
All menu icons displayed by T.C. 10.50 64-bit. No issues.

Code: Select all

karl@voyager:~/.wine/drive_c/TC1050$ wine TOTALCMD64.EXE /N
002c:fixme:thread:SetThreadStackGuarantee (0x2ddfc48): stub
002b:fixme:wtsapi:WTSRegisterSessionNotification Stub 0x1006a 0x00000000
002b:fixme:oleacc:AccPropServices_SetHwndPropStr (0x101a8 4294967292 0 {c3a6921b-4a99-44f1-bca6-61187052c431} L"LINKS ")
002b:fixme:oleacc:AccPropServices_SetHwndPropStr (0x101aa 4294967292 0 {c3a6921b-4a99-44f1-bca6-61187052c431} L"RECHTS ")
0031:fixme:win:RegisterDeviceNotificationW (hwnd=0x101b0, filter=0x8b8f038,flags=0x00000000) returns a fake device notification handle!
0031:fixme:win:RegisterDeviceNotificationW (hwnd=0x101b0, filter=0x8b8f038,flags=0x00000000) returns a fake device notification handle!
0031:fixme:win:RegisterDeviceNotificationW (hwnd=0x101b0, filter=0x8b8f038,flags=0x00000000) returns a fake device notification handle!
0031:fixme:win:RegisterDeviceNotificationW (hwnd=0x101b0, filter=0x8b8f038,flags=0x00000000) returns a fake device notification handle!
0031:fixme:win:RegisterDeviceNotificationW (hwnd=0x101b0, filter=0x8b8f038,flags=0x00000000) returns a fake device notification handle!
0017:fixme:mountmgr:query_property Faking StorageDeviceProperty data
0017:fixme:mountmgr:harddisk_ioctl returning zero-filled buffer for IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS
002b:fixme:winstation:GetUserObjectSecurity (0x120 0x1ddca80 0x4e922e0 len=1024 0x1ddca60),stub!
002b:fixme:winstation:GetUserObjectSecurity (0xfffffffffffffffe 0x1ddca80 0x4e92700 len=1024 0x1ddca60),stub!
003f:fixme:netapi32:NetShareEnum Stub ((null) 2 0xbdaee58 32768 0xbdaee48 0xbdaee40 0xbdaee50)
0041:err:shell:SHGetFileInfoW pidl is null!
002b:fixme:wtsapi:WTSUnRegisterSessionNotification Stub 0x1006a
The last line in all 3 cases is the line displayed, when I click [alt+f4] in order to close T.C.

Karl
Last edited by karlchen on 2022-09-25, 14:32 UTC, edited 1 time in total.
MX Linux 21.3 64-bit xfce, Total Commander 10.52 64-bit
The people of Alderaan keep on bravely fighting back the clone warriors sent out by the unscrupulous Sith Lord Palpatine.
The Prophet's Song
User avatar
karlchen
Power Member
Power Member
Posts: 4601
Joined: 2003-02-06, 22:23 UTC
Location: Germany

Re: T.C. 10.51 x64: no more icons in menus

Post by *karlchen »

Hello, Dalai.

I will have to print out all 3 Wine terminal outputs and try to figure out whether anything strikes me as unique with respect to T.C. 10.51 64-bit session.
Wine terminal output, from my perspective, has got some tendency of making me wonder how the heck Total Commander does work at all under Wine. So many complaints.
But as a rule it does.
The missing menu icons is one of the few issues, which I have come across during the past few years. (LM 19.3 and Wine 4.0 was installed no sooner than 02-Feb-2020.)

Regards,
Karl
MX Linux 21.3 64-bit xfce, Total Commander 10.52 64-bit
The people of Alderaan keep on bravely fighting back the clone warriors sent out by the unscrupulous Sith Lord Palpatine.
The Prophet's Song
User avatar
Dalai
Power Member
Power Member
Posts: 9364
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Re: T.C. 10.51 x64: no more icons in menus

Post by *Dalai »

I'm not sure, but it's possible that TC tries to read the icons only when opening the main menu. Did you do that? If you didn't, then please do and see if that changes anything about the terminal output.

Maybe it has something to do with this change:

Code: Select all

29.08.22 Release Total Commander 10.51 release candidate 4 (RC4)
29.08.22 Fixed: Treat missing WCMICON*.DLL the same as icons in main menu turned off, otherwise there were glitches in the displayed menus (32/64)
But it's all guesswork at this time...

Regards
Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
User avatar
karlchen
Power Member
Power Member
Posts: 4601
Joined: 2003-02-06, 22:23 UTC
Location: Germany

Re: T.C. 10.51 x64: no more icons in menus

Post by *karlchen »

Hello, Dalai.

The 2 lines, which you quoted from the change history file, are what had caught my attention as well. Just like you I am not sure why this particular change could cause the misbehaviour. The less so as the same files are read and used by T.C 10.51 64-bit and 32-bit. It is the combined 64-bit/32-bit installation.
The files WCMICON2.DLL, WCMICONS.DLL, WCMICONS.INC have got the same content in T.C. 10.51 and 10.50. Confirmed by T.C. "compare by content".

By the way, I can reproduce the same behaviour on a second machine, Linux Mint 19.3 x64 xfce. This makes it less likely that there is really the same flaw in both wincmd.ini files on both machines. And in both cases, only T.C. 10.51 64-bit fails to display the items in all the application menus; but T.C 10.51 32.bit works and displays them as designed and expected. For me this smells a bit like a Delphi versus Lazarus issue.

Not quote sure what you mean by opening the T.C. main menu. The shared screenshots illustrate for the file menu, what the issue is. I could have made corresponding screenshots for all application menus.

The files WCMD_DEU.INC, WCMD_DEU.LNG, WCMD_DEU.MNU, WCMD_ENG.MNU have been compared by content between T.C 10.51 and T.C. 10.50. Their content is identical in both versions, in spite of the different file modification times.

I have switched between English language and German language several times. The reported flaw remains irrespective of the selected language file.

Regards,
Karl
MX Linux 21.3 64-bit xfce, Total Commander 10.52 64-bit
The people of Alderaan keep on bravely fighting back the clone warriors sent out by the unscrupulous Sith Lord Palpatine.
The Prophet's Song
User avatar
karlchen
Power Member
Power Member
Posts: 4601
Joined: 2003-02-06, 22:23 UTC
Location: Germany

Re: T.C. 10.51 x64: no more icons in menus

Post by *karlchen »

Back to the terminal output, displayed when invoking T.C. through wine ...

Comparing the terminal output, displayed when T.C. 10.51 32-bit is invoked, to the output, displayed by the 2 64-bit invocations, gives the impression that T.C. 10.51. 32-bit might be a totally different application than the 2 64-bit editions. (Delphi vs Lazarus, I'd say.)

But comparing the invocation of T.C. 10.50 64-bit with the invocation of T.C. 10.51 64-bit might be more helpful.

Actually the main difference is that T.C. 10.50 64-bit makes wine display the following error only once:
+ line 16:

Code: Select all

0041:err:shell:SHGetFileInfoW pidl is null!
T.C. 10.51 64-bit makes wine display the same error 4 times in a row:
+ line 16: - 19:

Code: Select all

003f:err:shell:SHGetFileInfoW pidl is null!
0040:err:shell:SHGetFileInfoW pidl is null!
0041:err:shell:SHGetFileInfoW pidl is null!
0042:err:shell:SHGetFileInfoW pidl is null!
Maybe it will be necessary to make wine log debug output in order to learn more details about the 4 SHGetFileInfoW errors.
MX Linux 21.3 64-bit xfce, Total Commander 10.52 64-bit
The people of Alderaan keep on bravely fighting back the clone warriors sent out by the unscrupulous Sith Lord Palpatine.
The Prophet's Song
User avatar
karlchen
Power Member
Power Member
Posts: 4601
Joined: 2003-02-06, 22:23 UTC
Location: Germany

Re: T.C. 10.51 x64: no more icons in menus

Post by *karlchen »

Result of:
karlchen wrote: 2022-09-25, 13:50 UTCI still have to check on MX 19.4 x64, which has got a newer Wine version, whether the same issue occurs there, too.
The same problem. T.C. 10.51 64-bit does not display any icons in the application menus. T.C. 10.51 32-bit does.
MX Linux 19.4 64-bit, base: Debian 10.13 (buster), Wine 4.0 (so the same version as Mint 19.3, base: Ubuntu 18.04)

So I was wrong about the newer Wine version on MX Linux 19.4.
MX Linux 21.3 64-bit xfce, Total Commander 10.52 64-bit
The people of Alderaan keep on bravely fighting back the clone warriors sent out by the unscrupulous Sith Lord Palpatine.
The Prophet's Song
User avatar
karlchen
Power Member
Power Member
Posts: 4601
Joined: 2003-02-06, 22:23 UTC
Location: Germany

Re: T.C. 10.51 x64: no more icons in menus

Post by *karlchen »

Hello, Dalai.

The task to follow this approach is still pending:
Dalai wrote: 2022-09-25, 14:13 UTC I suggest to try to find the setting causing this, renaming the sections in wincmd.ini step by step.
I am a bit loathe to do so, because
+ it will be a very time consuming task
+ wincmd.ini can hardly be wrong, because T.C. 10.51 32-bit can handle it perfectly without any malfunctioning

Anyway, some fine day I may take the time to follow that route nonetheless.

Regards,
Karl
MX Linux 21.3 64-bit xfce, Total Commander 10.52 64-bit
The people of Alderaan keep on bravely fighting back the clone warriors sent out by the unscrupulous Sith Lord Palpatine.
The Prophet's Song
User avatar
Dalai
Power Member
Power Member
Posts: 9364
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Re: T.C. 10.51 x64: no more icons in menus

Post by *Dalai »

karlchen wrote: 2022-09-25, 19:53 UTCNot quote sure what you mean by opening the T.C. main menu. The shared screenshots illustrate for the file menu, what the issue is.
I don't know if TC loads the icons for the main menu immediately at launch or just before the main menu is opened. If it's the latter and you didn't open the main menu when getting the terminal output, it won't be part of the output (potentially not catching the culprit).
karlchen wrote: 2022-09-25, 21:33 UTC + wincmd.ini can hardly be wrong, because T.C. 10.51 32-bit can handle it perfectly without any malfunctioning
I didn't suggest it is. It's just that it might make things easier for everyone, users to be able to confirm the bug, and Ghisler to be able to find the bug in code or adding a workaround for some behavior. You said yourself that the issue is gone when using a fresh wincmd.ini. That's why my guess is that TC 10x51 x64 tripping over something in your wincmd.ini.

Regards
Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
User avatar
karlchen
Power Member
Power Member
Posts: 4601
Joined: 2003-02-06, 22:23 UTC
Location: Germany

Re: T.C. 10.51 x64: no more icons in menus

Post by *karlchen »

Hello, Dalai.

When gathering the Wine terminal output, I had launched T.C. and opened all 7 menus, from "File" to "Starter", before closing it again.

Yes, I am aware that there will be no way around stripping down the current wincmd.ini section by section in order to identify which section it is that makes T.C. 10.51 64-bit fail to display the icons in the menus.

Karl
MX Linux 21.3 64-bit xfce, Total Commander 10.52 64-bit
The people of Alderaan keep on bravely fighting back the clone warriors sent out by the unscrupulous Sith Lord Palpatine.
The Prophet's Song
User avatar
karlchen
Power Member
Power Member
Posts: 4601
Joined: 2003-02-06, 22:23 UTC
Location: Germany

Re: T.C. 10.51 x64: no more icons in menus

Post by *karlchen »

Some attempt, which has not brought any improvement:

If I open the T.C. 10.51 wincmd.ini file in the editor Notepad2, then it tells that the file uses "Ansi" encoding.
Therefore Notepad2 was instructed to change the wincmd.ini from "Ansi" to "Unicode (UTF-16 LE with BOM)".
T.C. 10.51 32-bit was started and seemed to work as before, i.e. all icons in the menus were displayed.
T.C. 10.51 64-bit was started and was unimpressed, i.e. no icons in the menus were displayed.

OK. But this was a quick and simple test. - Reverting wincmd.ini to "Ansi" by restoring the backup copy.
MX Linux 21.3 64-bit xfce, Total Commander 10.52 64-bit
The people of Alderaan keep on bravely fighting back the clone warriors sent out by the unscrupulous Sith Lord Palpatine.
The Prophet's Song
User avatar
karlchen
Power Member
Power Member
Posts: 4601
Joined: 2003-02-06, 22:23 UTC
Location: Germany

Re: T.C. 10.51 x64: no more icons in menus

Post by *karlchen »

Winedebug enhanced:

Repeated launching T.C. 10.50 64-bit and T.C. 10.51 64-bit using the wine commandline in a terminal window.
This time first exported WINEDEBUG=warn+all in order to make Wine log more details..

Code: Select all

export WINEDEBUG=warn+all

# T.C. 10.51 64-bit
#
cd ~/.wine/drive_c/totalcmd
wine TOTALCMD64.EXE /N > /home/karl/Downloads/Temp/winedebug.1051.log 2>&1 &

# T.C. 10.50 64-bit
#
cd ~/.wine/drive_c/TC1050
wine TOTALCMD64.EXE /N > /home/karl/Downloads/Temp/winedebug.1050.log 2>&1 &
Result:

The winedebug.1050.log and the winedebug.1051.log file clearly reveal that partially T.C. 10.50 64-bit and T.C. 10.51 64-bit do different steps and that T.C. 10.51 64-bit encounters some problems, which are not logged in the 10.50 debug log file.

But I admit that comparing the debug files alone has not revealed to me where T.C. 10.51 64-bit may go wrong precisely and why.

Files winedebug.1050.log and winedebug.1051.log (106 KiB and 117 KiB) saved and keeping them, just in case they should be of any interest to anybody.
MX Linux 21.3 64-bit xfce, Total Commander 10.52 64-bit
The people of Alderaan keep on bravely fighting back the clone warriors sent out by the unscrupulous Sith Lord Palpatine.
The Prophet's Song
Post Reply