Bug 91940

Summary: Wallet password requests are opened on the "wrong" desktop
Product: [Unmaintained] kdelibs Reporter: palantir
Component: kwalletAssignee: George Staikos <staikos>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description palantir 2004-10-23 09:59:28 UTC
Version:           unknown (using KDE 3.3.1, Gentoo)
Compiler:          gcc version 3.3.4 20040623 (Gentoo Linux 3.3.4-r1, ssp-3.3.2-2, pie-8.7.6)
OS:                Linux (i686) release 2.6.8-gentoo-r3

This is a pretty annoying behaviour... Say I have konqueror open on desktop 2, and in that page there is a form which has stored passwords. I also have Kopete running. Then I exit KDE. When I log back in, I see the first desktop. In the meanwhile, while the session is being restored, konqueror opens in the second desktop, tries to access the wallet, and a password request opens at that desktop. I cannot see any hint that a prompt has been shown. After that kopete starts, and since there already is a request for wallet password on the second desktop, it just waits for that one to be processed. The result is that I tkink that kopete has just frozen, and kill it a few times, until the wallet says that Kopete is misbehaving. The only thing to do (if I don't by chance access the second desktop) is to restart KDE... and so on...
Comment 1 George Staikos 2004-11-05 20:36:15 UTC
So the solution is to change desktops on you?
Comment 2 palantir 2004-11-05 20:59:09 UTC
I'd rather make the warning appear on the current desktop :-)
Comment 3 palantir 2004-11-05 20:59:43 UTC
(I mean the password request)
Comment 4 George Staikos 2004-11-05 21:07:32 UTC
On Friday 05 November 2004 14:59, palantir@email.it wrote:
> ------- (I mean the password request)

  That's a problem.  The dialog is bound to the caller window.  Then you'll 
have an app with a modal child dialog on another desktop.  I can't agree with 
that one.

Comment 5 palantir 2004-11-05 21:13:06 UTC
And how about a sticky window (I mean one of those that are displayed on all the desktops)?
Comment 6 George Staikos 2004-11-05 23:22:24 UTC
On Friday 05 November 2004 15:13, palantir@email.it wrote:
> ------- And how about a sticky window (I mean one of those that are
> displayed on all the desktops)?

  Good idea.  I'll do that right now.

Comment 7 George Staikos 2004-11-05 23:45:06 UTC
CVS commit by staikos: 

Show the password dialog on all desktops, thereby avoiding a blocking dialog
on another desktop.  Seems to be the best solution according to the bug report
dialogue.

BUG: 91940


  M +1 -0      kwalletd.cpp   1.75


--- kdelibs/kio/misc/kwalletd/kwalletd.cpp  #1.74:1.75
@@ -385,4 +385,5 @@ int KWalletD::internalOpen(const QCStrin
                         XSetTransientForHint(qt_xdisplay(), kpd->winId(), w);
                         KWin::setState( kpd->winId(), NET::KeepAbove );
+                        KWin::setOnAllDesktops(kpd->winId(), true);
                         if (kpd->exec() == KDialog::Accepted) {
                                 p = kpd->password();