------- 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         
ogoffart kde org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED



------- Additional Comments From ogoffart kde org  2006-06-07 18:06 -------
SVN commit 549156 by ogoffart:

Fix Bug 127749: kopete freezes on desktop right click

BUG: 127749

I've taken the patch from jaguarwan, and added some check to assure good 
reentrency due to the call to the evebt loop.
Please have a test.


 M  +13 -2     kopeteaway.cpp  


--- branches/kopete/0.12/kopete/libkopete/kopeteaway.cpp #549155:549156
 @ -198,6 +198,8  @
 
 Kopete::Away::~Away()
 {
+       if(this == instance)
+               instance = 0L;  
        delete d;
 }
 
 @ -324,9 +326,18  @
        // isn't blanked/locked, because activity while blanked is impossible 
and
        // activity while locked never matters (if there is any, it's probably 
just
        // the cleaner wiping the keyboard :).
-
+       
+       
+       /* we should be able to respond to KDesktop queries to avoid a 
deadlock, so we allow the event loop to be called */
+       static bool rentrency_protection=false;
+       if(rentrency_protection)
+               return;
+       rentrency_protection=true;
        DCOPRef screenSaver("kdesktop", "KScreensaverIface");
-       DCOPReply isBlanked = screenSaver.call("isBlanked");
+       DCOPReply isBlanked = screenSaver.callExt("isBlanked" ,  
DCOPRef::UseEventLoop, 10);
+       rentrency_protection=false;
+       if(!instance) //this may have been deleted in the event loop
+               return;
        if (!(isBlanked.isValid() && isBlanked.type == "bool" && 
((bool)isBlanked)))
        {
                // DCOP failed, or returned something odd, or the screensaver is
_______________________________________________
kopete-devel mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/kopete-devel

Reply via email to