[LyX/master] Fix memory leak

Juergen Spitzmueller via lyx-cvs <[email protected]> Mon, 20 Jul 2026 13:05:30 +0000
Newsgroups gmane.editors.lyx.cvs
Message-ID <[email protected]>
commit cc6d25d2895a595164fd40b7a6fc3ada627defe2
Author: Juergen Spitzmueller <[email protected]>
Date:   Mon Jul 20 15:05:13 2026 +0200

    Fix memory leak
---
 src/frontends/qt/GuiDocument.cpp | 24 +++++++++++++++---------
 1 file changed, 15 insertions(+), 9 deletions(-)

diff --git a/src/frontends/qt/GuiDocument.cpp b/src/frontends/qt/GuiDocument.cpp
index 0da2865514..9a291f2c5a 100644
--- a/src/frontends/qt/GuiDocument.cpp
+++ b/src/frontends/qt/GuiDocument.cpp
@@ -5281,16 +5281,18 @@ void GuiDocument::paramsToDialog()
 	QList<QTreeWidgetItem *> specialLangFontItems;
 	QList<QTreeWidgetItem *> specialScriptFontItems;
 	for (auto const & itt : bp_.special_fonts_roman) {
-		QTreeWidgetItem * item = new QTreeWidgetItem;
 		QString const scname = toqstr(itt.first);
+		QString scname_gui;
 		bool const is_language = scname == scname.toLower();
 		if (is_language) {
 			Language const * l = languages.getLanguage(itt.first);
 			if (l == nullptr)
 				continue;
-			item->setText(0, qt_(l->display()));
+			scname_gui = qt_(l->display());
 		} else
-			item->setText(0, qt_(itt.first));
+			scname_gui = qt_(itt.first);
+		QTreeWidgetItem * item = new QTreeWidgetItem;
+		item->setText(0, scname_gui);
 		item->setData(0, Qt::UserRole, scname);
 		item->setText(1, qt_("Roman"));
 		item->setData(1, Qt::UserRole, "rm");
@@ -5308,16 +5310,18 @@ void GuiDocument::paramsToDialog()
 			specialScriptFontItems.append(item);
 	}
 	for (auto const & itt : bp_.special_fonts_sans) {
-		QTreeWidgetItem * item = new QTreeWidgetItem;
 		QString const scname = toqstr(itt.first);
+		QString scname_gui;
 		bool const is_language = scname == scname.toLower();
 		if (is_language) {
 			Language const * l = languages.getLanguage(itt.first);
 			if (l == nullptr)
 				continue;
-			item->setText(0, qt_(l->display()));
+			scname_gui = qt_(l->display());
 		} else
-			item->setText(0, qt_(itt.first));
+			scname_gui = qt_(itt.first);
+		QTreeWidgetItem * item = new QTreeWidgetItem;
+		item->setText(0, scname_gui);
 		item->setData(0, Qt::UserRole, scname);
 		item->setText(1, qt_("Sans Serif"));
 		item->setData(1, Qt::UserRole, "sf");
@@ -5337,16 +5341,18 @@ void GuiDocument::paramsToDialog()
 			specialScriptFontItems.append(item);
 	}
 	for (auto const & itt : bp_.special_fonts_typewriter) {
-		QTreeWidgetItem * item = new QTreeWidgetItem;
 		QString const scname = toqstr(itt.first);
+		QString scname_gui;
 		bool const is_language = scname == scname.toLower();
 		if (is_language) {
 			Language const * l = languages.getLanguage(itt.first);
 			if (l == nullptr)
 				continue;
-			item->setText(0, qt_(l->display()));
+			scname_gui = qt_(l->display());
 		} else
-			item->setText(0, qt_(itt.first));
+			scname_gui = qt_(itt.first);
+		QTreeWidgetItem * item = new QTreeWidgetItem;
+		item->setText(0, scname_gui);
 		item->setData(0, Qt::UserRole, scname);
 		item->setText(1, qt_("Typewriter"));
 		item->setData(1, Qt::UserRole, "sf");
-- 
lyx-cvs mailing list
[email protected]
https://lists.lyx.org/mailman/listinfo/lyx-cvs