diff options
-rw-r--r-- | framework/source/helper/statusindicatorfactory.cxx | 3 | ||||
-rw-r--r-- | framework/source/helper/wakeupthread.cxx | 1 |
2 files changed, 3 insertions, 1 deletions
diff --git a/framework/source/helper/statusindicatorfactory.cxx b/framework/source/helper/statusindicatorfactory.cxx index fc4e04283fdf..1669bfea5068 100644 --- a/framework/source/helper/statusindicatorfactory.cxx +++ b/framework/source/helper/statusindicatorfactory.cxx @@ -18,6 +18,7 @@ */ #include <algorithm> +#include <utility> #include <helper/statusindicatorfactory.hxx> #include <helper/statusindicator.hxx> #include <helper/vclstatusindicator.hxx> @@ -547,7 +548,7 @@ void StatusIndicatorFactory::impl_stopWakeUpThread() rtl::Reference<WakeUpThread> wakeUp; { osl::MutexGuard g(m_mutex); - wakeUp = m_pWakeUp; + std::swap(wakeUp, m_pWakeUp); } if (wakeUp.is()) { diff --git a/framework/source/helper/wakeupthread.cxx b/framework/source/helper/wakeupthread.cxx index b13621225d21..503f6707a010 100644 --- a/framework/source/helper/wakeupthread.cxx +++ b/framework/source/helper/wakeupthread.cxx @@ -53,6 +53,7 @@ void framework::WakeUpThread::stop() { osl::MutexGuard g(mutex_); terminate_ = true; } + condition_.set(); join(); } |