------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.kde.org/show_bug.cgi?id=127749
------- Additional Comments From jaguarwan yahoo fr 2006-06-07 10:03 -------
Hello,
I investigated the issue and it appears to be related to a circular call.
KDesktop tries to fetch the contacts to fill the context menu of the mount
point icon (Copy To > Contact) via KIMProxy while Kopete is calling KDesktop to
know if the screensaver is set. The two wait after each other reply and get
stuck.
Simply disabling the autoaway feature should fix that for those who want an
immediate solution, and I have done this little patch which seems to fix the
bug on my setup (against the 0.12 source code).
--------------------------------8<---------------------------------
--- kopeteaway.cpp.orig 2006-05-31 02:24:05.000000000 +0200
+++ kopeteaway.cpp 2006-06-07 05:52:15.000000000 +0200
@ -326,8 +326,11 @
// the cleaner wiping the keyboard :).
DCOPRef screenSaver("kdesktop", "KScreensaverIface");
- DCOPReply isBlanked = screenSaver.call("isBlanked");
- if (!(isBlanked.isValid() && isBlanked.type == "bool" &&
((bool)isBlanked)))
+
+ /* should be able to respond to KDesktop queries to avoid a deadlock */
+ DCOPReply isBlanked = screenSaver.callExt("isBlanked",
DCOPRef::NoEventLoop, 10);
+
+ if (!(isBlanked.isValid() && isBlanked.type == "bool" &&
((bool)isBlanked)))
{
// DCOP failed, or returned something odd, or the screensaver is
// inactive, so check for activity the X11 way. It's only worth
--------------------------------8<---------------------------------
This simply add a 10ms timeout to prevent Kopete from getting stuck in the dcop
call. I thought dcop had a builtin circular call prevention mechanism ?
Hope this helps and have a nice day :)
Best regards.
_______________________________________________
kopete-devel mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/kopete-devel