Fix crash on exit

Make sure that QWaylandDrag and QWaylandClientBufferIntegration are
destructed before the QWaylandDisplay.

Change-Id: I606154c9861a51d7cf3e5afb16d4f805ab9368b8
Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com>
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
This commit is contained in:
Paul Olav Tvete 2016-11-22 15:45:28 +01:00
parent f6912982eb
commit e56040ec7d

View File

@ -112,6 +112,11 @@ public:
virtual QWaylandServerBufferIntegration *serverBufferIntegration() const;
virtual QWaylandShellIntegration *shellIntegration() const;
private:
// NOTE: mDisplay *must* be destructed after mDrag and mClientBufferIntegration.
// Do not move this definition into the private section at the bottom.
QScopedPointer<QWaylandDisplay> mDisplay;
protected:
QScopedPointer<QWaylandClientBufferIntegration> mClientBufferIntegration;
QScopedPointer<QWaylandServerBufferIntegration> mServerBufferIntegration;
@ -130,7 +135,6 @@ private:
QScopedPointer<QPlatformClipboard> mClipboard;
QScopedPointer<QPlatformDrag> mDrag;
#endif
QScopedPointer<QWaylandDisplay> mDisplay;
QScopedPointer<QPlatformNativeInterface> mNativeInterface;
QScopedPointer<QPlatformInputContext> mInputContext;
#if QT_CONFIG(accessibility)