summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormae <matthias.ettrich@nokia.com>2012-05-22 12:09:18 +0200
committerMatthias Ettrich <matthias.ettrich@nokia.com>2012-05-22 12:13:02 +0200
commitd16c2d973d9e758de8776aabca62b1febe0bec69 (patch)
treed6746d9c5180438eb8b707f4123f329f48c9ca76
parentf854ccbcd3e40a2f1435c8af1bed0342f24bc641 (diff)
Fix crash on exit
if m_index is -1 (the default), the call to Prefork::at() will run into an ASSERT. Change-Id: Ic2606fe3dab5b589b47d79bb30a0cd654d522a0e Reviewed-by: Nikolai Kosjar <nikolai.kosjar@nokia.com>
-rw-r--r--src/core/preforkprocessbackendfactory.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/core/preforkprocessbackendfactory.cpp b/src/core/preforkprocessbackendfactory.cpp
index d9bbba4..a01fb97 100644
--- a/src/core/preforkprocessbackendfactory.cpp
+++ b/src/core/preforkprocessbackendfactory.cpp
@@ -91,12 +91,14 @@ PreforkProcessBackendFactory::PreforkProcessBackendFactory(QObject *parent)
PreforkProcessBackendFactory::~PreforkProcessBackendFactory()
{
- const PreforkChildData *data = Prefork::instance()->at(m_index);
- if (data) {
- QJsonObject message;
- message.insert(RemoteProtocol::remote(), RemoteProtocol::halt());
- m_pipe->send(message);
- m_pipe->waitForBytesWritten();
+ if (m_index >= 0) {
+ const PreforkChildData *data = Prefork::instance()->at(m_index);
+ if (data) {
+ QJsonObject message;
+ message.insert(RemoteProtocol::remote(), RemoteProtocol::halt());
+ m_pipe->send(message);
+ m_pipe->waitForBytesWritten();
+ }
}
}