summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJędrzej Nowacki <jedrzej.nowacki@nokia.com>2011-11-18 10:05:25 +0100
committerQt by Nokia <qt-info@nokia.com>2011-11-29 01:53:38 +0100
commita291519e3e391e6a9d59a35d0b51366f2e5583ae (patch)
tree645bedba28c304ec783064b59d001d4e7e7a0e9b /src
parent3ad7ddf265e67c5776147a8b8b3188ef61dfe5b3 (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')
-rw-r--r--src/plugins/platforms/xcb/qxcbintegration.cpp19
-rw-r--r--src/plugins/platforms/xcb/qxcbintegration.h8
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 &parameters)
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