mirror of
https://gitdl.cn/https://github.com/chakralinux/desktop.git
synced 2025-01-24 02:22:13 +08:00
42 lines
1.7 KiB
Diff
42 lines
1.7 KiB
Diff
commit 7c3011e0a6459c00cf9d06d74da3a32f87f1a2f6
|
|
Author: Eike Hein <hein@kde.org>
|
|
Date: Mon Sep 9 23:12:45 2013 +0200
|
|
|
|
Spin the event loop before destroying the menu.
|
|
|
|
This allows the menu implementation to complete toggling the
|
|
launcher before the instance is destroyed. It's extremely un-
|
|
fortunate that the library currently requires this careful
|
|
handling; see e944d7ae in kde-workspace for a note on what
|
|
needs to be cleaned up there.
|
|
|
|
BUG:324661
|
|
|
|
diff --git a/applets/icontasks/windowtaskitem.cpp b/applets/icontasks/windowtaskitem.cpp
|
|
index 970c19f..61b39ef 100644
|
|
--- a/applets/icontasks/windowtaskitem.cpp
|
|
+++ b/applets/icontasks/windowtaskitem.cpp
|
|
@@ -406,17 +406,18 @@ void WindowTaskItem::showContextMenu(const QPoint &pos, bool showAppMenu)
|
|
actionList.append(configAction);
|
|
}
|
|
|
|
- TaskManager::BasicMenu menu(0, m_task.data(), &m_applet->groupManager(), actionList, showAppMenu ? getAppMenu() : QList <QAction*>());
|
|
- menu.adjustSize();
|
|
+ TaskManager::BasicMenu * menu = new TaskManager::BasicMenu(0, m_task.data(), &m_applet->groupManager(), actionList, showAppMenu ? getAppMenu() : QList <QAction*>());
|
|
+ menu->adjustSize();
|
|
|
|
if (m_applet->formFactor() != Plasma::Vertical) {
|
|
- menu.setMinimumWidth(size().width());
|
|
+ menu->setMinimumWidth(size().width());
|
|
}
|
|
|
|
Q_ASSERT(m_applet->containment());
|
|
Q_ASSERT(m_applet->containment()->corona());
|
|
stopWindowHoverEffect();
|
|
- menu.exec(pos.isNull() ? m_applet->containment()->corona()->popupPosition(this, menu.size()) : pos);
|
|
+ menu->exec(pos.isNull() ? m_applet->containment()->corona()->popupPosition(this, menu->size()) : pos);
|
|
+ menu->deleteLater();
|
|
delete a;
|
|
}
|
|
|