GNOME Bugzilla – Bug 477750
Evolution: Beta warning & (Exchange) password boxes fight for control at startup
Last modified: 2012-06-10 15:14:58 UTC
Starting Evolution, I just about always get the password dialog box for my Exchange account. After upgrading to OpenSUSE 20.3alpha7 (RPM: evolution-2.11.5-3), I got both the normal password dialog and a "this is beta/preview blah blah..." warning. Neither are grayed out, but neither accept inputs. I was forced to $ evolution --force-shutdown to close evolution. Workaround: $ evolution --offline --disable-eplugin prevents the exchange/account password box, allowing me to close the beta/preview warning, selecting "never show again" option.
OpenSUSE 10.3 bug in bnc https://bugzilla.novell.com/show_bug.cgi?id=298091
I could reproduce this in previous version, but now, in 2.23.x I cannot. At least with a devel dialog. I can see this with a recovery dialog, though, but if I dismiss the recovery dialog first, then the password dialog starts to respond. Otherwise I can click on any button of the password dialog, but no luck. I'll try to think about some general solution like "wait with a password until all modal dialogs go away", but hard to say whether we have such option in gtk.
Created attachment 113322 [details] patch-like file for evolution-data-server; I can prevent showing password prompts when other modal dialog is up, in similar way like in this attachment, but it doesn't prevent the opposite way, aka: a) open evo, create new message, type a subject or change there something b) keep the above message opened and close evolution c) forget password for some account and run evo d) you'll be prompted for a password and for the recovery of the message window, in this order, and clicking on the password dialog does nothing, until is finished the recovery message dialog. I heard Matt talking about a need to rewrite passwords part a bit, but it will not help here much, probably (if I got correctly what he wants to change).
I think what we really need to fix this and similar competing dialog issues is a centralized dialog queue that prevents a dialog from being shown until the previous one is closed. This would apply to the beta warning dialog, password dialogs, error dialogs, alarm dialogs, certificate dialogs, etc. We already have two such queues in e-passwords.c and mail-session.c, and possibly elsewhere. But they all run independently and don't coordinate.
This is fixed in Evolution 3.5.3. Password prompts are now system modal and are handled by a D-Bus service rather than by Evolution itself.