From 5578c285d866488d06f99f5e72e3fb9291d37eca Mon Sep 17 00:00:00 2001 From: Vadim ProductEngine Date: Mon, 22 Aug 2011 14:01:18 +0300 Subject: STORM-1543 WIP More cleanup and comments. --- indra/newview/llappviewer.cpp | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) (limited to 'indra/newview/llappviewer.cpp') diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 16c2b2d55a..326b5fd629 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -332,13 +332,11 @@ const char* const VIEWER_WINDOW_CLASSNAME = "Second Life"; * Tasks added to this list will be executed in the next LLAppViewer::idle() iteration. * All tasks are executed only once. */ -class LLDeferredTaskList: - public LLSingleton, - private LLDestroyClass +class LLDeferredTaskList: public LLSingleton { LOG_CLASS(LLDeferredTaskList); + friend class LLAppViewer; - friend class LLDestroyClass; typedef boost::signals2::signal signal_t; void addTask(const signal_t::slot_type& cb) @@ -348,15 +346,11 @@ class LLDeferredTaskList: void run() { - if (mSignal.empty()) return; - - mSignal(); - mSignal.disconnect_all_slots(); - } - - static void destroyClass() - { - instance().mSignal.disconnect_all_slots(); + if (!mSignal.empty()) + { + mSignal(); + mSignal.disconnect_all_slots(); + } } signal_t mSignal; @@ -4460,6 +4454,7 @@ void LLAppViewer::idle() } } + // Execute deferred tasks. LLDeferredTaskList::instance().run(); // Handle shutdown process, for example, -- cgit v1.2.3