diff options
Diffstat (limited to 'src/Core/Signals/Signal1.h')
-rw-r--r-- | src/Core/Signals/Signal1.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/Core/Signals/Signal1.h b/src/Core/Signals/Signal1.h index e4a946c..0a03c39 100644 --- a/src/Core/Signals/Signal1.h +++ b/src/Core/Signals/Signal1.h @@ -21,6 +21,7 @@ #define MAD_CORE_SIGNALS_SIGNAL1_H_ #include "GenericSignal.h" +#include "../Application.h" #include "../ThreadManager.h" #include <boost/function.hpp> @@ -32,11 +33,13 @@ namespace Signals { template <typename T1> class Signal1 : public GenericSignal<boost::function1<void, T1> > { public: + Signal1(Application *application) : GenericSignal<boost::function1<void, T1> >(application) {} + void emit(T1 arg1) { boost::lock_guard<boost::mutex> lock(this->mutex); for(typename std::map<Connection, typename GenericSignal<boost::function1<void, T1> >::slot_type>::iterator handler = this->handlers.begin(); handler != this->handlers.end(); ++handler) - ThreadManager::get()->pushWork(boost::bind(handler->second, arg1)); + this->getApplication()->getThreadManager()->pushWork(boost::bind(handler->second, arg1)); } }; |