From 537ce772afe8f70924f360099d7bf4f418f56ffa Mon Sep 17 00:00:00 2001 From: Tobias Fella Date: Mon, 26 Jan 2026 11:53:28 +0100 Subject: [PATCH] Remove leak in ChatDocumentHandler --- src/libneochat/chatdocumenthandler.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/libneochat/chatdocumenthandler.cpp b/src/libneochat/chatdocumenthandler.cpp index c0095614f..f898fdc40 100644 --- a/src/libneochat/chatdocumenthandler.cpp +++ b/src/libneochat/chatdocumenthandler.cpp @@ -28,7 +28,7 @@ class SyntaxHighlighter : public QSyntaxHighlighter public: QTextCharFormat mentionFormat; QTextCharFormat errorFormat; - Sonnet::BackgroundChecker *checker = new Sonnet::BackgroundChecker; + Sonnet::BackgroundChecker checker; Sonnet::Settings settings; QList> errors; QString previousText; @@ -48,11 +48,11 @@ public: errorFormat.setForeground(m_theme->negativeTextColor()); errorFormat.setUnderlineStyle(QTextCharFormat::SpellCheckUnderline); - connect(checker, &Sonnet::BackgroundChecker::misspelling, this, [this](const QString &word, int start) { + connect(&checker, &Sonnet::BackgroundChecker::misspelling, this, [this](const QString &word, int start) { errors += {start, word}; - checker->continueChecking(); + checker.continueChecking(); }); - connect(checker, &Sonnet::BackgroundChecker::done, this, [this]() { + connect(&checker, &Sonnet::BackgroundChecker::done, this, [this]() { rehighlightTimer.start(); }); rehighlightTimer.setInterval(100); @@ -64,9 +64,9 @@ public: if (settings.checkerEnabledByDefault()) { if (text != previousText) { previousText = text; - checker->stop(); + checker.stop(); errors.clear(); - checker->setText(text); + checker.setText(text); } for (const auto &error : errors) { setFormat(error.first, error.second.size(), errorFormat);