From a8f7a100ae34d906695e79c443426adf728e0338 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Sun, 30 Mar 2025 19:21:24 +0200 Subject: [PATCH] tst_QTextEdit: fix memleak in the MyPaintDevice helper The constructor new'ed up a MyPaintEngine, but there was no destructor to delete the object again. Neither is ownership of the engine transferred out of the class, so the object was leaked. Fix by holding it in a unique_ptr. Amends 391e3aeef45efc937979b44c32147206e389a60b. Pick-to: 6.8 6.5 5.15 Change-Id: I0c4da10d5a1659eceac0deba32cac757579e46c5 Reviewed-by: Axel Spoerl (cherry picked from commit de2de7e12cb82064e32197f88c8772ceeeead8ae) Reviewed-by: Qt Cherry-pick Bot --- tests/auto/widgets/widgets/qtextedit/tst_qtextedit.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/auto/widgets/widgets/qtextedit/tst_qtextedit.cpp b/tests/auto/widgets/widgets/qtextedit/tst_qtextedit.cpp index 6354fa70c2f..70d25f2e57c 100644 --- a/tests/auto/widgets/widgets/qtextedit/tst_qtextedit.cpp +++ b/tests/auto/widgets/widgets/qtextedit/tst_qtextedit.cpp @@ -2782,14 +2782,14 @@ namespace { class MyPaintDevice : public QPaintDevice { public: - MyPaintDevice() : m_paintEngine(new MyPaintEngine) + MyPaintDevice() : m_paintEngine(std::make_unique()) { } QPaintEngine *paintEngine () const override { - return m_paintEngine; + return m_paintEngine.get(); } int metric (QPaintDevice::PaintDeviceMetric metric) const override { @@ -2816,7 +2816,7 @@ namespace { return 0; } - MyPaintEngine *m_paintEngine; + std::unique_ptr m_paintEngine; }; }