From 03ebdd8a21faf6ad55a2acfba3adc0637fc7bbc5 Mon Sep 17 00:00:00 2001 From: Artem Haise Date: Thu, 15 Oct 2026 14:26:36 +0200 Subject: [PATCH] Load the gate library parser before creating a new project The GUI loads parser plugins only on demand, but New Project called gate_library_manager::load without first loading the parser for the library's file type, so every attempt failed with "cannot load gate library". Co-Authored-By: Claude Opus 5.5 --- CHANGELOG.md | 1 + plugins/gui/src/file_manager/file_manager.cpp | 1 + 2 files changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index fd7c6018fed3..f5a29e1d8b48 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -221,6 +221,7 @@ All notable changes to this project will be documented in this file. * fixed sorting the groupings table, which compared all columns as text, sorting colors by their hex code; IDs are now compared as numbers and colors by hue, saturation, and value * removed a leftover debug output that printed every search string of the log widget to stdout * fixed the option to copy the gate library into the project directory in the netlist import dialog staying enabled when the gate library is detected automatically, in which case there is no file to copy and the option had no effect + * fixed `New Project` failing with `cannot load gate library` for every gate library, since the parser plugin for the file type of the library was never loaded * Build and dependencies * changed the GUI from Qt 5 to Qt 6 * updated the vendored QuaZip from 1.3 to 1.5 as part of the move to Qt 6 diff --git a/plugins/gui/src/file_manager/file_manager.cpp b/plugins/gui/src/file_manager/file_manager.cpp index f9e3282c8016..333ce8d4623c 100644 --- a/plugins/gui/src/file_manager/file_manager.cpp +++ b/plugins/gui/src/file_manager/file_manager.cpp @@ -282,6 +282,7 @@ namespace hal QMessageBox::warning(qApp->activeWindow(),"Aborted", "Cannot create project <" + projdir + ">, no gate library selected"); return; } + gPluginRelay->mGuiPluginTable->loadFeature(FacExtensionInterface::FacGatelibParser,"."+QFileInfo(gatelib).suffix()); GateLibrary* glib = gate_library_manager::load(gatelib.toStdString()); if (!glib) {