From 7f5e89de8b4e5debe6d7e307f91939f8de71d40f Mon Sep 17 00:00:00 2001 From: Mikhail Svechnikov <m.svechnikov@fz-juelich.de> Date: Tue, 14 Jan 2025 13:58:07 +0100 Subject: [PATCH] protect updBoundingRect --- GUI/View/Scene/MaskGraphicsScene.cpp | 9 ++++++++- GUI/View/Scene/MaskGraphicsScene.h | 3 +++ GUI/View/Tuning/ParameterTuningStackPresenter.cpp | 2 +- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/GUI/View/Scene/MaskGraphicsScene.cpp b/GUI/View/Scene/MaskGraphicsScene.cpp index a51e62fa6a2..4c140adb1bc 100644 --- a/GUI/View/Scene/MaskGraphicsScene.cpp +++ b/GUI/View/Scene/MaskGraphicsScene.cpp @@ -107,10 +107,17 @@ void MaskGraphicsScene::switchDataContext(Data2DItem* data_item) onProjSetChanged(); // update bounding rectangle and replot masks on widget resize - connect(m_plot.get(), &ColorMap::marginsChanged, this, &MaskGraphicsScene::updateOverlays, + connect(m_plot.get(), &ColorMap::marginsChanged, this, &MaskGraphicsScene::updBoundingRect, Qt::UniqueConnection); } +void MaskGraphicsScene::updBoundingRect() +{ + if (!m_data_item) + return; + updateOverlays(); +} + void MaskGraphicsScene::clearOverlays() { for (QGraphicsItem* overlay : m_viewport->childItems()) { diff --git a/GUI/View/Scene/MaskGraphicsScene.h b/GUI/View/Scene/MaskGraphicsScene.h index 79ededd9bf6..3e29833f66d 100644 --- a/GUI/View/Scene/MaskGraphicsScene.h +++ b/GUI/View/Scene/MaskGraphicsScene.h @@ -64,6 +64,9 @@ public slots: void onProjSetChanged(); void onSceneSelectionChanged(); +private slots: + void updBoundingRect(); + private: void mousePressEvent(QGraphicsSceneMouseEvent* event) override; void mouseMoveEvent(QGraphicsSceneMouseEvent* event) override; diff --git a/GUI/View/Tuning/ParameterTuningStackPresenter.cpp b/GUI/View/Tuning/ParameterTuningStackPresenter.cpp index f3537afdb8f..3c9817cee1e 100644 --- a/GUI/View/Tuning/ParameterTuningStackPresenter.cpp +++ b/GUI/View/Tuning/ParameterTuningStackPresenter.cpp @@ -37,7 +37,7 @@ void ParameterTuningStackPresenter::setItem(JobItem* item, QObject* model) show(); widget->setModel(model); - widget->setJobItem(item); +// widget->setJobItem(item); } ParameterTuningWidget* ParameterTuningStackPresenter::itemWidget() -- GitLab