summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/corelib/thread/qwaitcondition_symbian.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/corelib/thread/qwaitcondition_symbian.cpp b/src/corelib/thread/qwaitcondition_symbian.cpp
index c6414e8..ed1011c 100644
--- a/src/corelib/thread/qwaitcondition_symbian.cpp
+++ b/src/corelib/thread/qwaitcondition_symbian.cpp
@@ -112,7 +112,10 @@ public:
--wakeups;
}
- mutex.Signal();
+ // if err is KErrGeneral it signals that the RCondVar is closed along with the mutex and that this has been deleted
+ // we must not access any member variables in this case
+ if (err != KErrGeneral)
+ mutex.Signal();
if (err && err != KErrTimedOut)
report_error(err, "QWaitCondition::wait()", "cv wait");