dfaure created this revision. dfaure added reviewers: Plasma, mart. Restricted Application added a project: Plasma. Restricted Application added a subscriber: plasma-devel.
REVISION SUMMARY QMutex isn't the right tool for this: - If tryLock succeeds, the code didn't unlock the mutex again, leading to the runtime warning "QMutex: destroying locked mutex" - But if we add "else data.mutex.unlock()" then we risk that the other thread also calls unlock(), on a now-unlocked mutex, which is undefined behaviour. QWaitCondition is the right tool for waiting for something to happen, allowing us to unlock the mutex correctly in all cases. TEST PLAN Alt+F2 "define test". Doesn't seem to work very reliably yet, though. REPOSITORY R114 Plasma Addons BRANCH Plasma/5.11 REVISION DETAIL https://phabricator.kde.org/D8320 AFFECTED FILES runners/dictionary/dictionarymatchengine.cpp runners/dictionary/dictionarymatchengine.h To: dfaure, #plasma, mart Cc: plasma-devel, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart