summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--framework/source/helper/statusindicatorfactory.cxx3
-rw-r--r--framework/source/helper/wakeupthread.cxx1
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();
}