PATCH: kwallet lockup (#65978/#71048)

Waldo Bastian bastian at kde.org
Mon Jan 12 15:32:26 GMT 2004


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Mon January 12 2004 16:04, Lubos Lunak wrote:
> On Thursday 08 of January 2004 14:52, Lubos Lunak wrote:
> >  Hello,
> >
> >  compile and run the attached testapp. And make sure you have option
> > AllowDeactivateGrabs in XF86Config, 'sleep 20;killall a.out' or similar
> > ready, or you'll have to use Ctrl+Alt+Backspace. #65978 has a good
> > analysis of the problem, let's go to the solution:
> >
> >  In order to be able to release the popup grab, the app talking to the
> > wallet mustn't block in the DCOP call, but must reenter the event loop
> > (kwallet.cc.patch). I hope the patch lists all cases where the problem
> > can arise, but I'm not sure. Since closing of the popup is done as
> > handling of the input events, but KApplication blocks all user input
> > while waiting for DCOP calls, it needs to be patched to do that directly
> > (kapplication.cpp.patch). Moreover, patching Qt is also recommended
> > (qapplication_x11.cpp.patch), otherwise if the first mouse event doesn't
> > result in closing the popup, the mouse will stay frozen.
>
> [snip]
>
>  Could somebody say something about the patches? Or a better idea how to
> handle this wallet problem? I noticed the kwallet code got already reverted
> and use async DCOP call for opening the wallet, 

No, that's not an asynchronous DCOP call. That's a synchronous DCOP call with 
an event-loop.

> but this is apparently 
> causing Danimo's Kontact problem, and is probably not that good in general
> (http://lists.kde.org/?l=kde-core-devel&m=107366739332428&w=2). On the
> other hand, blocking DCOP call will cause #71048.

The solution is to use asynchronous DCOP calls... (In fact kwallet seems to 
have an option to use its home-brew version of those already) you call and 
return to the main-event loop. When the answer comes back you get a signal 
back. So what needs to happen is that kwallet.cc reverts to 1.42 and that 
khtml gets changed so that it opens the wallet asynchronously.

Cheers,
Waldo
- -- 
bastian at kde.org -=|[ KDE: K Desktop for the Enterprise ]|=- bastian at suse.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQFAAr4KN4pvrENfboIRArexAJ47SSwp9aU96nceZQ31Id/idLpRLACgqmay
i6q/WVVGntatSxJHrMXtzE4=
=zYPc
-----END PGP SIGNATURE-----




More information about the kde-core-devel mailing list