-rw-r--r-- | core/launcher/startmenu.cpp | 7 |
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 ) | |||
244 | void StartMenu::launch() | 244 | void 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 | ||
254 | const AppLnk* StartMenu::execToLink(const QString& appname) | 259 | const 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 | } |