summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMarius Kintel <marius@kintel.net>2013-02-07 20:01:31 (GMT)
committerMarius Kintel <marius@kintel.net>2013-02-07 20:01:31 (GMT)
commit4bd23c90916c181fe8ef4788ebe8d3d916758a0a (patch)
treef962b902d8de3aee65c9887736741682b8be878b /src
parenta7b80d64dd5775ff10253eb1a8b17cf4c2aeaeeb (diff)
Support Sparkle's Install on Quit
Diffstat (limited to 'src')
-rw-r--r--src/CocoaUtils.h10
-rw-r--r--src/CocoaUtils.mm9
-rw-r--r--src/mainwin.cc6
3 files changed, 25 insertions, 0 deletions
diff --git a/src/CocoaUtils.h b/src/CocoaUtils.h
new file mode 100644
index 0000000..8543d84
--- /dev/null
+++ b/src/CocoaUtils.h
@@ -0,0 +1,10 @@
+#ifndef COCOAUTILS_H_
+#define COCOAUTILS_H_
+
+class CocoaUtils
+{
+public:
+ static void endApplication();
+};
+
+#endif
diff --git a/src/CocoaUtils.mm b/src/CocoaUtils.mm
new file mode 100644
index 0000000..2ac8aef
--- /dev/null
+++ b/src/CocoaUtils.mm
@@ -0,0 +1,9 @@
+#include "CocoaUtils.h"
+#import <Foundation/Foundation.h>
+
+void CocoaUtils::endApplication()
+{
+ [[NSNotificationCenter defaultCenter]
+ postNotificationName:@"NSApplicationWillTerminateNotification"
+ object:nil];
+}
diff --git a/src/mainwin.cc b/src/mainwin.cc
index a05a4d4..7db7878 100644
--- a/src/mainwin.cc
+++ b/src/mainwin.cc
@@ -49,6 +49,9 @@
#include "ThrownTogetherRenderer.h"
#include "csgtermnormalizer.h"
#include "AutoUpdater.h"
+#ifdef Q_OS_MAC
+#include "CocoaUtils.h"
+#endif
#include <QMenu>
#include <QTime>
@@ -1843,6 +1846,9 @@ void MainWindow::quit()
QApplication::sendEvent(QApplication::instance(), &ev);
if (ev.isAccepted()) QApplication::instance()->quit();
// FIXME: Cancel any CGAL calculations
+#ifdef Q_OS_MAC
+ CocoaUtils::endApplication();
+#endif
}
void MainWindow::consoleOutput(const std::string &msg, void *userdata)
contact: Jan Huwald // Impressum