add fix for possible race condition (#96)

This commit is contained in:
Evgenii Alekseev 2016-06-16 15:17:06 +03:00
parent 75d101cc8b
commit b20a96d32f
2 changed files with 17 additions and 0 deletions

View File

@ -0,0 +1,15 @@
diff --git a/sources/awesome-widget/plugin/awkeys.cpp b/sources/awesome-widget/plugin/awkeys.cpp
index 1744fb7..f483209 100644
--- a/sources/awesome-widget/plugin/awkeys.cpp
+++ b/sources/awesome-widget/plugin/awkeys.cpp
@@ -234,8 +234,10 @@ void AWKeys::reinitKeys(const QStringList currentKeys)
void AWKeys::updateTextData()
{
// do not do it in parallel to avoid race condition
+ m_mutex.lock();
calculateValues();
QString text = parsePattern(keyOperator->pattern());
+ m_mutex.unlock();
emit(needTextToBeUpdated(text));
emit(dataAggregator->updateData(values));

View File

@ -234,8 +234,10 @@ void AWKeys::reinitKeys(const QStringList currentKeys)
void AWKeys::updateTextData()
{
// do not do it in parallel to avoid race condition
m_mutex.lock();
calculateValues();
QString text = parsePattern(keyOperator->pattern());
m_mutex.unlock();
emit(needTextToBeUpdated(text));
emit(dataAggregator->updateData(values));