summaryrefslogtreecommitdiffstats
path: root/src/corelib
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2010-03-05 09:10:57 (GMT)
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2010-03-05 09:16:38 (GMT)
commita0d7a5cf999fe3adac2b2166085194cf93a4a424 (patch)
treeeb249100f859b7c7e5e151d4ea52277e916fc13e /src/corelib
parent5dba125fb953718d8282ff317a6ff34b612bcf45 (diff)
downloadQt-a0d7a5cf999fe3adac2b2166085194cf93a4a424.zip
Qt-a0d7a5cf999fe3adac2b2166085194cf93a4a424.tar.gz
Qt-a0d7a5cf999fe3adac2b2166085194cf93a4a424.tar.bz2
Fixed crash at application exit when QProcess was used in Symbian
QProcessManagerMediator and QProcessActive were not properly canceled in their destructors, causing crash when global static QProcessManager was deleted. Task-number: QTBUG-7735 Reviewed-by: Janne Anttila
Diffstat (limited to 'src/corelib')
-rw-r--r--src/corelib/io/qprocess_symbian.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/corelib/io/qprocess_symbian.cpp b/src/corelib/io/qprocess_symbian.cpp
index 75cde51..e37bdda 100644
--- a/src/corelib/io/qprocess_symbian.cpp
+++ b/src/corelib/io/qprocess_symbian.cpp
@@ -371,6 +371,7 @@ QProcessActive::QProcessActive()
// Called from ProcessManagerThread
QProcessActive::~QProcessActive()
{
+ Cancel();
process = NULL;
pproc = NULL;
}
@@ -477,6 +478,7 @@ QProcessManagerMediator::QProcessManagerMediator()
// Called from ProcessManagerThread
QProcessManagerMediator::~QProcessManagerMediator()
{
+ Cancel();
processManagerThread.Close();
currentCommand = ENoCommand;
currentObserver = NULL;