From b1180280d0fdcf9758df756e04e658ccd436a6b6 Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Thu, 6 Apr 2017 23:42:17 +0300 Subject: [PATCH] ProjectExplorer: Fix infinite recursion If some ProjectNode doesn't override supportsAction (like CMake), then the fallback is FolderNode, which calls the root project node again... Change-Id: Ie7a469d6aaaae38c8c2ff56e33fed27cf1477b49 Reviewed-by: Tobias Hunger Reviewed-by: hjk --- src/plugins/projectexplorer/projectnodes.cpp | 5 +++++ src/plugins/projectexplorer/projectnodes.h | 1 + 2 files changed, 6 insertions(+) diff --git a/src/plugins/projectexplorer/projectnodes.cpp b/src/plugins/projectexplorer/projectnodes.cpp index e57caa415e7..8a04235ea61 100644 --- a/src/plugins/projectexplorer/projectnodes.cpp +++ b/src/plugins/projectexplorer/projectnodes.cpp @@ -773,6 +773,11 @@ bool ProjectNode::renameFile(const QString &filePath, const QString &newFilePath return false; } +bool ProjectNode::supportsAction(ProjectAction, Node *) const +{ + return false; +} + bool ProjectNode::deploysFolder(const QString &folder) const { Q_UNUSED(folder); diff --git a/src/plugins/projectexplorer/projectnodes.h b/src/plugins/projectexplorer/projectnodes.h index ac82e9b02c3..d82c02f53cb 100644 --- a/src/plugins/projectexplorer/projectnodes.h +++ b/src/plugins/projectexplorer/projectnodes.h @@ -291,6 +291,7 @@ public: bool deleteFiles(const QStringList &filePaths) override; bool canRenameFile(const QString &filePath, const QString &newFilePath) override; bool renameFile(const QString &filePath, const QString &newFilePath) override; + bool supportsAction(ProjectAction action, Node *node) const override; // by default returns false virtual bool deploysFolder(const QString &folder) const;