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