From 4d17a1b0c29e8fd8510c75db1efb203b9b4f9eb0 Mon Sep 17 00:00:00 2001 From: Jonas Schnelli Date: Sun, 14 Apr 2013 22:11:55 +0200 Subject: fix: GUI Disappearing #1522 (Mac OSX) - this solution works stable on mac and ensures that the window get's reopened when the user clicks the dock icon . - tested on 10.8 with Qt4.8.4 and Qt5.0.1 Signed-off-by: Jonas Schnelli --- src/qt/macdockiconhandler.mm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'src/qt/macdockiconhandler.mm') diff --git a/src/qt/macdockiconhandler.mm b/src/qt/macdockiconhandler.mm index ea868401c0..b6ea8e1d03 100644 --- a/src/qt/macdockiconhandler.mm +++ b/src/qt/macdockiconhandler.mm @@ -37,8 +37,9 @@ extern void qt_mac_set_dock_menu(QMenu*); Q_UNUSED(event) Q_UNUSED(replyEvent) - if (dockIconHandler) + if (dockIconHandler) { dockIconHandler->handleDockIconClickEvent(); + } } @end @@ -54,10 +55,15 @@ MacDockIconHandler::MacDockIconHandler() : QObject() [pool release]; } +void MacDockIconHandler::setMainWindow(QMainWindow *window) { + this->mainWindow = window; +} + MacDockIconHandler::~MacDockIconHandler() { [this->m_dockIconClickEventHandler release]; delete this->m_dummyWidget; + this->setMainWindow(NULL); } QMenu *MacDockIconHandler::dockMenu() @@ -94,5 +100,8 @@ MacDockIconHandler *MacDockIconHandler::instance() void MacDockIconHandler::handleDockIconClickEvent() { + this->mainWindow->activateWindow(); + this->mainWindow->show(); + emit this->dockIconClicked(); } -- cgit v1.2.3