diff options
author | Giulio Camuffo <giulio.camuffo@kdab.com> | 2016-10-10 16:26:24 +0200 |
---|---|---|
committer | Giulio Camuffo <giulio.camuffo@kdab.com> | 2016-11-03 08:33:00 +0000 |
commit | e05f6c01d2ac4b807c07a682927f75d70292595b (patch) | |
tree | 6de9d20cbd6fae789da9e6fb038da1e0e35de922 /src/client/qwaylandintegration_p.h | |
parent | 5f264935a42ed56f46b6d0a38f30700429396ac9 (diff) |
Fix memory leaks
Several fields in QWaylandIntegration were never deleted, so use QScopedPointer to
handle that. Also use QScopedPointer for all the heap allocated fields of the
class.
Change-Id: I4c33be4157a6e17abfa1610f84ef9a88afe5f38a
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@hawaiios.org>
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
Diffstat (limited to 'src/client/qwaylandintegration_p.h')
-rw-r--r-- | src/client/qwaylandintegration_p.h | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/src/client/qwaylandintegration_p.h b/src/client/qwaylandintegration_p.h index 9a4990229..bd66f55a7 100644 --- a/src/client/qwaylandintegration_p.h +++ b/src/client/qwaylandintegration_p.h @@ -54,6 +54,8 @@ #include <qpa/qplatformintegration.h> #include <QtWaylandClient/qwaylandclientexport.h> +#include <QtCore/QScopedPointer> + QT_BEGIN_NAMESPACE namespace QtWaylandClient { @@ -113,10 +115,10 @@ public: virtual QWaylandShellIntegration *shellIntegration() const; protected: - QWaylandClientBufferIntegration *mClientBufferIntegration; - QWaylandServerBufferIntegration *mServerBufferIntegration; - QWaylandShellIntegration *mShellIntegration; - QWaylandInputDeviceIntegration *mInputDeviceIntegration; + QScopedPointer<QWaylandClientBufferIntegration> mClientBufferIntegration; + QScopedPointer<QWaylandServerBufferIntegration> mServerBufferIntegration; + QScopedPointer<QWaylandShellIntegration> mShellIntegration; + QScopedPointer<QWaylandInputDeviceIntegration> mInputDeviceIntegration; private: void initializeClientBufferIntegration(); @@ -125,14 +127,14 @@ private: void initializeInputDeviceIntegration(); QWaylandShellIntegration *createShellIntegration(const QString& interfaceName); - QPlatformFontDatabase *mFontDb; - QPlatformClipboard *mClipboard; - QPlatformDrag *mDrag; - QWaylandDisplay *mDisplay; - QPlatformNativeInterface *mNativeInterface; + QScopedPointer<QPlatformFontDatabase> mFontDb; + QScopedPointer<QPlatformClipboard> mClipboard; + QScopedPointer<QPlatformDrag> mDrag; + QScopedPointer<QWaylandDisplay> mDisplay; + QScopedPointer<QPlatformNativeInterface> mNativeInterface; QScopedPointer<QPlatformInputContext> mInputContext; #ifndef QT_NO_ACCESSIBILITY - QPlatformAccessibility *mAccessibility; + QScopedPointer<QPlatformAccessibility> mAccessibility; #endif bool mClientBufferIntegrationInitialized; bool mServerBufferIntegrationInitialized; |