summaryrefslogtreecommitdiff
path: root/core/launcher/startmenu.cpp
Unidiff
Diffstat (limited to 'core/launcher/startmenu.cpp') (more/less context) (show whitespace changes)
-rw-r--r--core/launcher/startmenu.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/core/launcher/startmenu.cpp b/core/launcher/startmenu.cpp
index d9382d2..e663072 100644
--- a/core/launcher/startmenu.cpp
+++ b/core/launcher/startmenu.cpp
@@ -244,15 +244,20 @@ bool StartMenu::loadMenu( AppLnkSet *folder, QPopupMenu *menu )
244void StartMenu::launch() 244void StartMenu::launch()
245{ 245{
246 int y = mapToGlobal( QPoint() ).y() - launchMenu->sizeHint().height(); 246 int y = mapToGlobal( QPoint() ).y() - launchMenu->sizeHint().height();
247 247
248 if ( launchMenu->isVisible() ) 248 if ( launchMenu->isVisible() )
249 launchMenu->hide(); 249 launchMenu->hide();
250 else 250 else {
251 QWidget *active = qApp->activeWindow();
252 if ( active && active->isPopup() )
253 active->close();
254
251 launchMenu->popup( QPoint( 1, y ) ); 255 launchMenu->popup( QPoint( 1, y ) );
252} 256}
257}
253 258
254const AppLnk* StartMenu::execToLink(const QString& appname) 259const AppLnk* StartMenu::execToLink(const QString& appname)
255{ 260{
256 const AppLnk* a = apps->findExec( appname ); 261 const AppLnk* a = apps->findExec( appname );
257 return a; 262 return a;
258} 263}