From 9901d39ea6012621350a4e2a3f1466803c60829e Mon Sep 17 00:00:00 2001 From: Shawn Rutledge Date: Mon, 6 Apr 2020 12:11:36 +0200 Subject: Minimal platform: fix leaking QMinimalScreen instance This caused false alarms in fuzzing tests. The lifetime of the screen is the same as that of QMinimalIntegration. But failure to call handleScreenRemoved() also causes a warning; so as on "normal" platforms, the screen has to be separately allocated. Change-Id: Iad0cc53b8d09687400ced28bc2353b7500b01110 Reviewed-by: Robert Loehning --- src/plugins/platforms/minimal/qminimalintegration.cpp | 11 ++++++----- src/plugins/platforms/minimal/qminimalintegration.h | 1 + 2 files changed, 7 insertions(+), 5 deletions(-) (limited to 'src/plugins/platforms/minimal') diff --git a/src/plugins/platforms/minimal/qminimalintegration.cpp b/src/plugins/platforms/minimal/qminimalintegration.cpp index f457f69f11..0c2c0d0b68 100644 --- a/src/plugins/platforms/minimal/qminimalintegration.cpp +++ b/src/plugins/platforms/minimal/qminimalintegration.cpp @@ -103,17 +103,18 @@ QMinimalIntegration::QMinimalIntegration(const QStringList ¶meters) m_options |= DebugBackingStore | EnableFonts; } - QMinimalScreen *mPrimaryScreen = new QMinimalScreen(); + m_primaryScreen = new QMinimalScreen(); - mPrimaryScreen->mGeometry = QRect(0, 0, 240, 320); - mPrimaryScreen->mDepth = 32; - mPrimaryScreen->mFormat = QImage::Format_ARGB32_Premultiplied; + m_primaryScreen->mGeometry = QRect(0, 0, 240, 320); + m_primaryScreen->mDepth = 32; + m_primaryScreen->mFormat = QImage::Format_ARGB32_Premultiplied; - QWindowSystemInterface::handleScreenAdded(mPrimaryScreen); + QWindowSystemInterface::handleScreenAdded(m_primaryScreen); } QMinimalIntegration::~QMinimalIntegration() { + QWindowSystemInterface::handleScreenRemoved(m_primaryScreen); delete m_fontDatabase; } diff --git a/src/plugins/platforms/minimal/qminimalintegration.h b/src/plugins/platforms/minimal/qminimalintegration.h index ad1bec2112..f9c66e0c3e 100644 --- a/src/plugins/platforms/minimal/qminimalintegration.h +++ b/src/plugins/platforms/minimal/qminimalintegration.h @@ -88,6 +88,7 @@ public: private: mutable QPlatformFontDatabase *m_fontDatabase; + QMinimalScreen *m_primaryScreen; unsigned m_options; }; -- cgit v1.2.3