[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdebase/kicker
From: Aaron J. Seigo <aseigo () kde ! org>
Date: 2005-08-30 10:08:05
Message-ID: 1125396485.135220.25525.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 454922 by aseigo:
avoid getting hung up in an inner event loop when dragging from a menu
M +8 -1 kicker/ui/service_mnu.cpp
M +2 -2 libkicker/kickertip.h
--- trunk/KDE/kdebase/kicker/kicker/ui/service_mnu.cpp #454921:454922
@@ -736,7 +736,14 @@
{
if (KURLDrag::target() != this)
{
- close();
+ // we need to re-enter the event loop before calling close() here
+ // this gets called _before_ the drag object is destroyed, so we are
+ // still in its event loop. closing the menu before that event loop is
+ // exited may result in getting hung up in it which in turn prevents
+ // the execution of any code after the original exec() statement
+ // though the panels themselves continue on otherwise normally
+ // (we just have some sort of nested event loop)
+ QTimer::singleShot(0, this, SLOT(close()));
}
}
--- trunk/KDE/kdebase/kicker/libkicker/kickertip.h #454921:454922
@@ -64,12 +64,12 @@
/**
* For a widget to have a mouse over tip, simply have it subclass Client.
* Then call installEventFilter(KickerTip::self()); and the widget will be
- * tracked by thetip
+ * tracked by the tip
*/
class KDE_EXPORT Client
{
public:
- virtual ~Client(){};
+ virtual ~Client() {};
virtual void updateTipData(KickerTip::Data&) = 0;
void updateTip() const;
};
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic