summaryrefslogtreecommitdiffstats
path: root/src/client/qwaylandintegration_p.h
diff options
context:
space:
mode:
authorGiulio Camuffo <giulio.camuffo@kdab.com>2016-10-10 16:26:24 +0200
committerGiulio Camuffo <giulio.camuffo@kdab.com>2016-11-03 08:33:00 +0000
commite05f6c01d2ac4b807c07a682927f75d70292595b (patch)
tree6de9d20cbd6fae789da9e6fb038da1e0e35de922 /src/client/qwaylandintegration_p.h
parent5f264935a42ed56f46b6d0a38f30700429396ac9 (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.h22
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;