From 2cf9053632b6f0b898a58e72259fa18cfa7915db Mon Sep 17 00:00:00 2001 From: Martin Owens Date: Fri, 28 Mar 2025 22:10:55 -0400 Subject: [PATCH] Protect update from being called during an update The registered widget framework tells us when it's being updated so we use that information to stop over-updating. Fixes: https://gitlab.com/inkscape/inkscape/-/issues/5612 --- src/ui/dialog/document-properties.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/ui/dialog/document-properties.cpp b/src/ui/dialog/document-properties.cpp index 7d75af9a0a..529cde192d 100644 --- a/src/ui/dialog/document-properties.cpp +++ b/src/ui/dialog/document-properties.cpp @@ -1994,7 +1994,11 @@ GridWidget::GridWidget(SPGrid *grid) left_col->attach(*_no_of_lines, 0, row++, 2); _modified_signal = grid->connectModified([this, grid](SPObject const * /*obj*/, unsigned /*flags*/) { - update(); + if (!_wr.isUpdating()) { + _modified_signal.block(); + update(); + _modified_signal.unblock(); + } }); update(); @@ -2093,7 +2097,7 @@ void GridWidget::update() _id->set_label(id); _id->set_tooltip_text(id); - _wr.setUpdating (false); + _wr.setUpdating(false); } } // namespace Widget -- GitLab