fix restore via systray icon ignoring first click
[quassel.git] / src / qtui / mainwin.cpp
index cb33a01..8e11a29 100644 (file)
@@ -684,7 +684,7 @@ void MainWin::closeEvent(QCloseEvent *event) {
   QtUiApplication* app = qobject_cast<QtUiApplication*> qApp;
   Q_ASSERT(app);
   if(!app->aboutToQuit() && s.value("UseSystemTrayIcon").toBool() && s.value("MinimizeOnClose").toBool()) {
-    hideToTray();
+    toggleMinimizedToTray();
     event->ignore();
   } else {
     event->accept();
@@ -712,11 +712,12 @@ void MainWin::hideToTray() {
 void MainWin::toggleMinimizedToTray() {
   if(windowState() & Qt::WindowMinimized) {
     // restore
-    setWindowState(windowState() & ~Qt::WindowMinimized | Qt::WindowActive);
+    setWindowState((windowState() & ~Qt::WindowMinimized) | Qt::WindowActive);
     show();
     raise();
   } else {
-    setWindowState(windowState() & ~Qt::WindowActive | Qt::WindowMinimized);
+    setWindowState((windowState() & ~Qt::WindowActive) | Qt::WindowMinimized);
+    hideToTray();
   }
 }