diff options
author | Jędrzej Nowacki <jedrzej.nowacki@nokia.com> | 2011-11-18 10:05:25 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-11-29 01:53:38 +0100 |
commit | a291519e3e391e6a9d59a35d0b51366f2e5583ae (patch) | |
tree | 645bedba28c304ec783064b59d001d4e7e7a0e9b /src/plugins/platforms/xcb | |
parent | 3ad7ddf265e67c5776147a8b8b3188ef61dfe5b3 (diff) |
Fix a small memory leak in QXcbIntegration.
Prefer to use a smart pointer over a raw pointer.
Change-Id: If8b5cbef8767433eab2f82c14abaa9608b8e61d0
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Diffstat (limited to 'src/plugins/platforms/xcb')
-rw-r--r-- | src/plugins/platforms/xcb/qxcbintegration.cpp | 19 | ||||
-rw-r--r-- | src/plugins/platforms/xcb/qxcbintegration.h | 8 |
2 files changed, 12 insertions, 15 deletions
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<QXcbConnection *> m_connections; - QPlatformFontDatabase *m_fontDatabase; - QPlatformNativeInterface *m_nativeInterface; + QScopedPointer<QPlatformFontDatabase> m_fontDatabase; + QScopedPointer<QPlatformNativeInterface> m_nativeInterface; - QPlatformInputContext *m_inputContext; + QScopedPointer<QPlatformInputContext> m_inputContext; QAbstractEventDispatcher *m_eventDispatcher; - QPlatformAccessibility *m_accessibility; + QScopedPointer<QPlatformAccessibility> m_accessibility; }; QT_END_NAMESPACE |