summaryrefslogtreecommitdiffstats
path: root/Swift
diff options
context:
space:
mode:
Diffstat (limited to 'Swift')
-rw-r--r--Swift/Controllers/EventNotifier.cpp1
-rw-r--r--Swift/QtUI/WindowsNotifier.cpp4
-rw-r--r--Swift/QtUI/WindowsNotifier.h3
3 files changed, 7 insertions, 1 deletions
diff --git a/Swift/Controllers/EventNotifier.cpp b/Swift/Controllers/EventNotifier.cpp
index 7ecc27c..e643ab3 100644
--- a/Swift/Controllers/EventNotifier.cpp
+++ b/Swift/Controllers/EventNotifier.cpp
@@ -27,6 +27,7 @@ EventNotifier::EventNotifier(EventController* eventController, Notifier* notifie
}
EventNotifier::~EventNotifier() {
+ notifier->purgeCallbacks();
eventController->onEventQueueEventAdded.disconnect(boost::bind(&EventNotifier::handleEventAdded, this, _1));
}
diff --git a/Swift/QtUI/WindowsNotifier.cpp b/Swift/QtUI/WindowsNotifier.cpp
index 1789451..212f0ca 100644
--- a/Swift/QtUI/WindowsNotifier.cpp
+++ b/Swift/QtUI/WindowsNotifier.cpp
@@ -47,4 +47,8 @@ void WindowsNotifier::handleMessageClicked() {
}
}
+void WindowsNotifier::purgeCallbacks() {
+ lastCallback = boost::function<void()>();
+}
+
}
diff --git a/Swift/QtUI/WindowsNotifier.h b/Swift/QtUI/WindowsNotifier.h
index 062b76f..b2b5577 100644
--- a/Swift/QtUI/WindowsNotifier.h
+++ b/Swift/QtUI/WindowsNotifier.h
@@ -23,7 +23,8 @@ namespace Swift {
~WindowsNotifier();
virtual void showMessage(Type type, const std::string& subject, const std::string& description, const boost::filesystem::path& picture, boost::function<void()> callback);
-
+ virtual void purgeCallbacks();
+
private slots:
void handleMessageClicked();