diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2010-03-05 09:10:57 (GMT) |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2010-03-05 09:16:38 (GMT) |
commit | a0d7a5cf999fe3adac2b2166085194cf93a4a424 (patch) | |
tree | eb249100f859b7c7e5e151d4ea52277e916fc13e /src/corelib | |
parent | 5dba125fb953718d8282ff317a6ff34b612bcf45 (diff) | |
download | Qt-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.cpp | 2 |
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; |