ext4 plugin: focused ext4 partition blocks TCs next start

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

Moderators: Hacker, petermad, Stefan2, white

pwiecz
Junior Member
Junior Member
Posts: 3
Joined: 2016-06-30, 13:27 UTC

ext4 plugin: focused ext4 partition blocks TCs next start

Post by *pwiecz »

I'm not sure if it's a regression or if it was not working in previous versions either.

I've started un unregistered version of TotalCmd with admin rights, and opened a ext4 partition in left panel.

I've closed the TotalCmd, and opened it normally (without admin rights).

Now I cannot get the registration reminder dialog closed - I have to kill the totalcmd process.

If I restart TotalCmd in admin mode, and change the left panel to point to normal disk, I can work normally on it.
User avatar
Dalai
Power Member
Power Member
Posts: 9968
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

Indeed there's a bug. However, I'm not sure if this bug is in TC itself because there're some conditions. Since I don't know which plugin you used, I just assumed it's ext4TC plugin. This plugin shows a message

Code: Select all

---------------------------
INFO
---------------------------
You are not admin
---------------------------
OK   
---------------------------
when the user doesn't have enough permissions to use it (direct partition access requires administrator rights).

Now comes the interesting part: When TC launches with some directory inside this plugin, it shows the message as well, but you won't see it if you don't pay attention to the Windows taskbar.

But you are correct that the nag screen can't be dismissed in TC x64 until you confirm the plugin's message*. Even when TC x64 is registered, TC's splash won't be hidden as long as the plugin's message window is shown. TC 32 bit works correctly here, so you see the plugin's message after dismissing the nag screen; the splash is hidden correctly, too. So I guess there's some error/bug in the window handling in TC x64.

*) You can do this by pressing ESC, SPACE or ENTER when the plugin's message window is active.

[EDIT] Typo

Regards
Dalai
Last edited by Dalai on 2016-07-03, 13:59 UTC, edited 1 time in total.
#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
ghisler(Author)
Site Admin
Site Admin
Posts: 50550
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

This happend when the plugin shows its error AFTER the nag dialog has been displayed, but with TC itself as the parent. The plugin author could fix that by calling GetLastActivePopup(TC handle) to make the dialog a child of the nag dialog. I don't think that I can change anyting myself about the problem, sorry.
Author of Total Commander
https://www.ghisler.com
User avatar
Dalai
Power Member
Power Member
Posts: 9968
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

2ghisler(Author)
Please read my post again. The issue is not limited to the nag screen but also applies to the splash of TC x64:
Dalai wrote:Even when TC x64 is registered, TC's splash won't be hidden as long as the plugin's message window is shown.
And, TC x64 behaves different from TC 32 bit.

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
Dalai
Power Member
Power Member
Posts: 9968
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

2ghisler(Author)
Is there anything you can do to make TC 32 and 64 behave the same? It's mainly the plugin's fault, yes, but it's annoying that TC x64 doesn't remove the splash screen BEFORE the plugin is loaded and shows its dialog; TC 32 bit does, so the plugin's message window can be easily dismissed. Just to make it clear: I'm not talking about the nag screen 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
ghisler(Author)
Site Admin
Site Admin
Posts: 50550
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

It's probably a race condition, these are handled asynchronously, so I cannot say when which will happen...
Author of Total Commander
https://www.ghisler.com
User avatar
Dalai
Power Member
Power Member
Posts: 9968
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

I can reproduce it reliably that TC x64 behaves differently than TC 32 bit. Not even once have I seen that TC x64 hides the splash before the plugin dialog pops up, or TC 32 bit doesn't hide the splash. Doesn't sound like a race condition to me.

2pwiecz
Would be nice to hear from you again, whether you can confirm my findings, and if you can live with the workarounds I posted above. Here's another one: If you're working with tabs, set the ext4 drive to one of the background tabs before closing TC so it won't be loaded immediately when TC starts. This way, the plugin message appears later when the tab with the ex4 plugin is activated.

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
ghisler(Author)
Site Admin
Site Admin
Posts: 50550
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

I have added a workaround to beta 7 x64, please try it! It should move the message box to the foreground.
Author of Total Commander
https://www.ghisler.com
User avatar
Dalai
Power Member
Power Member
Posts: 9968
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

I don't see any difference, neither with the splash screen nor the nag screen in TC9 beta7 x64.

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
ghisler(Author)
Site Admin
Site Admin
Posts: 50550
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Here it works! I tried with this ini:

[right]
path=\\\ext4plugin

[FileSystemPlugins]
ext4plugin=c:\totalcmd\fs\ext4Plugin\ext4Plugin.wfx

The error dialog is now shown in front of the nag screen. Maybe a problem with your settings?
Author of Total Commander
https://www.ghisler.com
User avatar
Dalai
Power Member
Power Member
Posts: 9968
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

ghisler(Author) wrote:Maybe a problem with your settings?
I don't think so. I tried with your wincmd.ini and on two different systems (VM and real hardware) but that doesn't change anything.

Environment: Win7 x64, TC9 beta7 x64, ext4 partition somewhere on the disk(s). TC started as another user that doesn't have admin rights (UAC is disabled).

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
ghisler(Author)
Site Admin
Site Admin
Posts: 50550
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Here is what I get with the above ini:
http://www.ghisler.com/images/ext4pluginerror.jpg

Maybe we don't mean the same dialog?

When I start Beta 6, I get the same dialog,but it's behind the TC startup screen.

To see it, I click on the taskbar icon of TC - it's actually two windows, one of them is ""You are not admin". When I then click on the red 'x' button in the window preview, the error closes, and I can start TC normally.

I'm also on Windows 7 x64. I don't have any ext4 partitions, but the plugin doesn't even get that far - it refuses to load as non-admin.
Author of Total Commander
https://www.ghisler.com
User avatar
Dalai
Power Member
Power Member
Posts: 9968
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

ghisler(Author) wrote:Here is what I get with the above ini:
http://www.ghisler.com/images/ext4pluginerror.jpg
Yep, that's the one. On my systems it looks like this. Note that I moved the splash so the plugin message can be seen. As you can see from the screenshot, the plugin message is active but not on top of the splash. Beta7 doesn't behave any different than beta6 on my systems.

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
Dalai
Power Member
Power Member
Posts: 9968
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

Just another note: I'm using ext4TC 0.17 (x64), the latest version available on SourceForge.

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
ghisler(Author)
Site Admin
Site Admin
Posts: 50550
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Unfortunately I couldn't reproduce your problem, I use 0.17 too.

I have changed my code a bit, it now uses EnumWindows to find the message box, and tries to close it by sending a message to it. Maybe it helps, please try it (beta 8).
Author of Total Commander
https://www.ghisler.com
Post Reply