summaryrefslogtreecommitdiff
path: root/0001-tests-readWrite-Fix-memory-leak.patch
diff options
context:
space:
mode:
Diffstat (limited to '0001-tests-readWrite-Fix-memory-leak.patch')
-rw-r--r--0001-tests-readWrite-Fix-memory-leak.patch36
1 files changed, 36 insertions, 0 deletions
diff --git a/0001-tests-readWrite-Fix-memory-leak.patch b/0001-tests-readWrite-Fix-memory-leak.patch
new file mode 100644
index 0000000..9f73480
--- /dev/null
+++ b/0001-tests-readWrite-Fix-memory-leak.patch
@@ -0,0 +1,36 @@
+From 9657fd3ad95536c19c8b3f68987614d81b04845c Mon Sep 17 00:00:00 2001
+From: Martin Hostettler <textshell@uchuujin.de>
+Date: Sun, 6 Sep 2026 13:42:25 +0200
+Subject: [PATCH] tests: readWrite: Fix memory leak.
+
+Additionally when the File instance is kept alive, it might later
+reference the text metrics now internally bound to a now destructed
+terminal in a later event loop iteration.
+---
+ src/tests/tests.cpp | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/src/tests/tests.cpp b/src/tests/tests.cpp
+index 2b170c8..efb2107 100644
+--- a/src/tests/tests.cpp
++++ b/src/tests/tests.cpp
+@@ -39,11 +39,11 @@ void readWrite(QString in) {
+ Tui::ZTerminal terminal(of);
+
+ QString out = in + "_dub";
+- File *f = new File(terminal.textMetrics(), nullptr);
+- //f->setFilename(in);
+- CHECK(f->openText(in));
+- f->setFilename(out);
+- CHECK(f->saveText());
++ File f(terminal.textMetrics(), nullptr);
++ //f.setFilename(in);
++ CHECK(f.openText(in));
++ f.setFilename(out);
++ CHECK(f.saveText());
+
+ CHECK(fileChecksum(in) == fileChecksum(out));
+
+--
+2.55.0
+