diff --git a/src/plugins/coreplugin/id.cpp b/src/plugins/coreplugin/id.cpp index 8cfc02ddfda..416df0a7af6 100644 --- a/src/plugins/coreplugin/id.cpp +++ b/src/plugins/coreplugin/id.cpp @@ -89,7 +89,7 @@ public: static bool operator==(const StringHolder &sh1, const StringHolder &sh2) { // sh.n is unlikely to discriminate better than the hash. - return sh1.h == sh2.h && strcmp(sh1.str, sh1.str) == 0; + return sh1.h == sh2.h && sh1.str && sh2.str && strcmp(sh1.str, sh2.str) == 0; } @@ -314,7 +314,11 @@ void Id::registerId(int uid, const char *name) bool Id::operator==(const char *name) const { - return strcmp(stringFromId.value(m_id).str, name) == 0; + const char *string = stringFromId.value(m_id).str; + if (string && name) + return strcmp(string, name) == 0; + else + return false; } // For debugging purposes diff --git a/src/plugins/qtsupport/customexecutablerunconfiguration.cpp b/src/plugins/qtsupport/customexecutablerunconfiguration.cpp index 18880dd1fbb..3a8cd551b81 100644 --- a/src/plugins/qtsupport/customexecutablerunconfiguration.cpp +++ b/src/plugins/qtsupport/customexecutablerunconfiguration.cpp @@ -395,7 +395,7 @@ CustomExecutableRunConfigurationFactory::~CustomExecutableRunConfigurationFactor bool CustomExecutableRunConfigurationFactory::canCreate(ProjectExplorer::Target *parent, const Core::Id id) const { - if (!canHandle(parent) || !id.isValid()) + if (!canHandle(parent)) return false; return id == CUSTOM_EXECUTABLE_ID; }