From 20f11c961e756c60f416d3d135e007679b9c83eb Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Thu, 10 Dec 2020 17:50:46 +0200 Subject: [PATCH] QmlDesigner: Fix crash when 'Debug QML emulation layer' is enabled Timer was accessed before creation in this case. Change-Id: I8817043f1a875cb4c7c6cf8a1f4b398f78058509 Reviewed-by: Thomas Hartmann --- .../instances/interactiveconnectionmanager.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/plugins/qmldesigner/designercore/instances/interactiveconnectionmanager.cpp b/src/plugins/qmldesigner/designercore/instances/interactiveconnectionmanager.cpp index 57b66a7f800..a8c1ecd5fee 100644 --- a/src/plugins/qmldesigner/designercore/instances/interactiveconnectionmanager.cpp +++ b/src/plugins/qmldesigner/designercore/instances/interactiveconnectionmanager.cpp @@ -101,7 +101,7 @@ void InteractiveConnectionManager::dispatchCommand(const QVariant &command, Conn void InteractiveConnectionManager::puppetTimeout(Connection &connection) { - if (connection.socket && connection.socket->waitForReadyRead(10)) { + if (connection.timer && connection.socket && connection.socket->waitForReadyRead(10)) { connection.timer->stop(); connection.timer->start(); return; @@ -112,8 +112,10 @@ void InteractiveConnectionManager::puppetTimeout(Connection &connection) void InteractiveConnectionManager::puppetAlive(Connection &connection) { - connection.timer->stop(); - connection.timer->start(); + if (connection.timer) { + connection.timer->stop(); + connection.timer->start(); + } } } // namespace QmlDesigner