diff --git a/app/panel/node/node.h b/app/panel/node/node.h index 74cd2e62a..a53c2c019 100644 --- a/app/panel/node/node.h +++ b/app/panel/node/node.h @@ -35,6 +35,11 @@ class NodePanel : public PanelWidget public: NodePanel(QWidget* parent); + NodeGraph* GetGraph() const + { + return node_view_->GetGraph(); + } + void SetGraph(NodeGraph *graph) { node_view_->SetGraph(graph); diff --git a/app/widget/nodeview/nodeview.h b/app/widget/nodeview/nodeview.h index 7b3982d41..ecca353dc 100644 --- a/app/widget/nodeview/nodeview.h +++ b/app/widget/nodeview/nodeview.h @@ -46,6 +46,11 @@ public: virtual ~NodeView() override; + NodeGraph* GetGraph() const + { + return graph_; + } + /** * @brief Sets the graph to view */ diff --git a/app/window/mainwindow/mainwindow.cpp b/app/window/mainwindow/mainwindow.cpp index 70fb083a8..4d3158fff 100644 --- a/app/window/mainwindow/mainwindow.cpp +++ b/app/window/mainwindow/mainwindow.cpp @@ -362,6 +362,11 @@ void MainWindow::ProjectClose(Project *p) RemoveProjectPanel(panel); } } + + // Close project from NodeView + if (node_panel_->GetGraph() == p) { + node_panel_->SetGraph(nullptr); + } } void MainWindow::SetApplicationProgressStatus(ProgressStatus status)