From d42920d372dea4bec69f8d4da67e25bce5b7c6a6 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Wed, 15 Apr 2020 09:31:51 +0200 Subject: OutputFormatter: Take ownership of the line parsers For symmetry with IOutputParser. Task-number: QTCREATORBUG-22665 Change-Id: I92e93b32e87ff4f3fa163a2d2fe13768e56bfa24 Reviewed-by: hjk --- src/libs/utils/outputformatter.cpp | 3 +++ src/libs/utils/outputformatter.h | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'src/libs') diff --git a/src/libs/utils/outputformatter.cpp b/src/libs/utils/outputformatter.cpp index dbc7e0a677f..dd243bb9bc5 100644 --- a/src/libs/utils/outputformatter.cpp +++ b/src/libs/utils/outputformatter.cpp @@ -67,6 +67,7 @@ OutputFormatter::OutputFormatter() OutputFormatter::~OutputFormatter() { + qDeleteAll(d->lineParsers); delete d; } @@ -85,6 +86,8 @@ void OutputFormatter::setPlainTextEdit(QPlainTextEdit *plainText) void OutputFormatter::setLineParsers(const QList &parsers) { + flush(); + qDeleteAll(d->lineParsers); d->lineParsers = parsers; d->nextParser = nullptr; } diff --git a/src/libs/utils/outputformatter.h b/src/libs/utils/outputformatter.h index cdb757786e7..edee0ef0b63 100644 --- a/src/libs/utils/outputformatter.h +++ b/src/libs/utils/outputformatter.h @@ -86,7 +86,7 @@ public: QPlainTextEdit *plainTextEdit() const; void setPlainTextEdit(QPlainTextEdit *plainText); - void setLineParsers(const QList &parsers); + void setLineParsers(const QList &parsers); // Takes ownership void appendMessage(const QString &text, OutputFormat format); void flush(); -- cgit v1.2.3