PATCH: kwallet lockup (#65978/#71048)

Lubos Lunak l.lunak at suse.cz
Mon Jan 12 15:04:17 GMT 2004


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, 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.

 I could possibly write another mode for DCOP calls that only checks the DCOP 
descriptor and peeks at the incoming X events to avoid the popup deadlock, so 
it would be more or less blocking but without the problems, but I'm not sure 
if this is the right time for experiments. Perhaps even simply making the 
kwallet code close popups first would do as a sufficient solution (the purist 
in me disagrees of course).

 Opinions?

-- 
Lubos Lunak
KDE developer
---------------------------------------------------------------------
SuSE CR, s.r.o.  e-mail: l.lunak at suse.cz , l.lunak at kde.org
Drahobejlova 27  tel: +420 2 9654 2373
190 00 Praha 9   fax: +420 2 9654 2374
Czech Republic   http://www.suse.cz/




More information about the kde-core-devel mailing list