[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-bugs-dist
Subject: [Bug 127749] kopete freezes on desktop right click
From: Olivier Goffart <ogoffart () kde ! org>
Date: 2006-06-07 16:07:03
Message-ID: 20060607160703.17569.qmail () ktown ! kde ! org
[Download RAW message or body]
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
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
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic