summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Smith <git@kismith.co.uk>2012-03-14 13:12:24 (GMT)
committerKevin Smith <git@kismith.co.uk>2012-03-14 13:24:44 (GMT)
commitf90fce80371ac12d97c6adc65a9437e4a3a7b268 (patch)
tree9e277bc46ae0a0cf3e54aa252d1a5c630e35ec83 /SwifTools/Notifier/Notifier.h
parent1089374439fa6073800679817198e3c39283113e (diff)
downloadswift-contrib-f90fce80371ac12d97c6adc65a9437e4a3a7b268.zip
swift-contrib-f90fce80371ac12d97c6adc65a9437e4a3a7b268.tar.bz2
Dispose of notification callbacks once the account signs out.
Fixes segfaults caused by clicking notifications after the handlers had been freed. Does not fix GrowlNotifier, which needs fixing later.
Diffstat (limited to 'SwifTools/Notifier/Notifier.h')
-rw-r--r--SwifTools/Notifier/Notifier.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/SwifTools/Notifier/Notifier.h b/SwifTools/Notifier/Notifier.h
index 1bcd58d..9537ec1 100644
--- a/SwifTools/Notifier/Notifier.h
+++ b/SwifTools/Notifier/Notifier.h
@@ -30,18 +30,21 @@ namespace Swift {
virtual bool isAvailable() const {
return true;
}
virtual bool isExternallyConfigured() const {
return false;
}
+ /** Remove any pending callbacks. */
+ virtual void purgeCallbacks() = 0;
+
protected:
std::string typeToString(Type type);
static std::vector<Type> getAllTypes();
static std::vector<Type> getDefaultTypes();
static const int DEFAULT_STATUS_NOTIFICATION_TIMEOUT_SECONDS;
static const int DEFAULT_MESSAGE_NOTIFICATION_TIMEOUT_SECONDS;
};
}