From b128ffc70b76743e8bf4372a70e706911200461c Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sat, 23 Dec 2023 21:44:06 +0100 Subject: [PATCH] Avoid macro IDE events during update of the recent properties list (that is a problem when script errors are present) --- src/edt/edt/edtRecentConfigurationPage.cc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/edt/edt/edtRecentConfigurationPage.cc b/src/edt/edt/edtRecentConfigurationPage.cc index 1d889b4a6..f5e512561 100644 --- a/src/edt/edt/edtRecentConfigurationPage.cc +++ b/src/edt/edt/edtRecentConfigurationPage.cc @@ -27,6 +27,7 @@ #include "layDispatcher.h" #include "layLayoutViewBase.h" #include "layLayerTreeModel.h" +#include "layBusy.h" #include "dbLibraryManager.h" #include "dbLibrary.h" #include "tlLog.h" @@ -275,7 +276,12 @@ RecentConfigurationPage::render_to (QTreeWidgetItem *item, int column, const std if (pcid.first) { const db::PCellDeclaration *pc_decl = lib->layout ().pcell_declaration (pcid.second); if (pc_decl) { - item->setText (column, tl::to_qstring (pc_decl->get_display_name (pc_decl->map_parameters (pcp)))); + lay::BusySection busy; // do not trigger macro IDE breakpoints and exception handling + try { + item->setText (column, tl::to_qstring (pc_decl->get_display_name (pc_decl->map_parameters (pcp)))); + } catch (tl::Exception &ex) { + item->setText (column, tl::to_qstring (std::string ("ERROR: ") + tl::to_quoted_string (ex.msg ()))); + } break; } }