From ccc46bbe46f6385968f5e4fb71bb20a4fc37f73a Mon Sep 17 00:00:00 2001 From: Eike Ziller <eike.ziller@qt.io> Date: Tue, 28 Jun 2016 13:28:28 +0200 Subject: [PATCH] Fix crashes with (Runnable|Connection)::is<T>() Another regression of 3f11ef92167 Default constructed Runnables/Connections have zero d pointer. Task-number: QTCREATORBUG-16507 Change-Id: I230b661eba4c408a353a711f93f3163160980793 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io> Reviewed-by: hjk <hjk@theqtcompany.com> --- src/plugins/projectexplorer/runconfiguration.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/plugins/projectexplorer/runconfiguration.h b/src/plugins/projectexplorer/runconfiguration.h index 225c04bf437..fd4fa288429 100644 --- a/src/plugins/projectexplorer/runconfiguration.h +++ b/src/plugins/projectexplorer/runconfiguration.h @@ -195,7 +195,7 @@ public: void operator=(Runnable other) { d = std::move(other.d); } template <class T> bool is() const { - return d.get()->typeId() == T::staticTypeId; + return d.get() && (d.get()->typeId() == T::staticTypeId); } template <class T> const T &as() const { @@ -219,7 +219,7 @@ public: void operator=(Connection other) { d = std::move(other.d); } template <class T> bool is() const { - return d.get()->typeId() == T::staticTypeId; + return d.get() && (d.get()->typeId() == T::staticTypeId); } template <class T> const T &as() const { -- GitLab