From a291519e3e391e6a9d59a35d0b51366f2e5583ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C4=99drzej=20Nowacki?= Date: Fri, 18 Nov 2011 10:05:25 +0100 Subject: Fix a small memory leak in QXcbIntegration. Prefer to use a smart pointer over a raw pointer. Change-Id: If8b5cbef8767433eab2f82c14abaa9608b8e61d0 Reviewed-by: Lars Knoll --- src/plugins/platforms/xcb/qxcbintegration.cpp | 19 ++++++++----------- src/plugins/platforms/xcb/qxcbintegration.h | 8 ++++---- 2 files changed, 12 insertions(+), 15 deletions(-) (limited to 'src/plugins/platforms/xcb') diff --git a/src/plugins/platforms/xcb/qxcbintegration.cpp b/src/plugins/platforms/xcb/qxcbintegration.cpp index e6b9a18323..2190722f98 100644 --- a/src/plugins/platforms/xcb/qxcbintegration.cpp +++ b/src/plugins/platforms/xcb/qxcbintegration.cpp @@ -103,18 +103,15 @@ QXcbIntegration::QXcbIntegration(const QStringList ¶meters) foreach (QXcbScreen *screen, connection->screens()) screenAdded(screen); - m_fontDatabase = new QGenericUnixFontDatabase(); - m_nativeInterface = new QXcbNativeInterface; - - m_inputContext = QPlatformInputContextFactory::create(); - - m_accessibility = new QPlatformAccessibility(); + m_fontDatabase.reset(new QGenericUnixFontDatabase()); + m_nativeInterface.reset(new QXcbNativeInterface); + m_inputContext.reset(QPlatformInputContextFactory::create()); + m_accessibility.reset(new QPlatformAccessibility()); } QXcbIntegration::~QXcbIntegration() { qDeleteAll(m_connections); - delete m_accessibility; } QPlatformWindow *QXcbIntegration::createPlatformWindow(QWindow *window) const @@ -214,12 +211,12 @@ void QXcbIntegration::moveToScreen(QWindow *window, int screen) QPlatformFontDatabase *QXcbIntegration::fontDatabase() const { - return m_fontDatabase; + return m_fontDatabase.data(); } QPlatformNativeInterface * QXcbIntegration::nativeInterface() const { - return m_nativeInterface; + return m_nativeInterface.data(); } QPlatformClipboard *QXcbIntegration::clipboard() const @@ -234,12 +231,12 @@ QPlatformDrag *QXcbIntegration::drag() const QPlatformInputContext *QXcbIntegration::inputContext() const { - return m_inputContext; + return m_inputContext.data(); } QPlatformAccessibility *QXcbIntegration::accessibility() const { - return m_accessibility; + return m_accessibility.data(); } QT_END_NAMESPACE diff --git a/src/plugins/platforms/xcb/qxcbintegration.h b/src/plugins/platforms/xcb/qxcbintegration.h index d451507425..91fcc0b6cb 100644 --- a/src/plugins/platforms/xcb/qxcbintegration.h +++ b/src/plugins/platforms/xcb/qxcbintegration.h @@ -79,13 +79,13 @@ public: private: QList m_connections; - QPlatformFontDatabase *m_fontDatabase; - QPlatformNativeInterface *m_nativeInterface; + QScopedPointer m_fontDatabase; + QScopedPointer m_nativeInterface; - QPlatformInputContext *m_inputContext; + QScopedPointer m_inputContext; QAbstractEventDispatcher *m_eventDispatcher; - QPlatformAccessibility *m_accessibility; + QScopedPointer m_accessibility; }; QT_END_NAMESPACE -- cgit v1.2.3