diff options
author | Laszlo Agocs <laszlo.agocs@theqtcompany.com> | 2015-01-09 12:59:04 +0100 |
---|---|---|
committer | Laszlo Agocs <laszlo.agocs@theqtcompany.com> | 2015-01-09 14:29:30 +0100 |
commit | f496c7186ca358f549e3aa32ac862a6f66011db6 (patch) | |
tree | 6be24cb3fa802c2b69049ebed406d0884abc85c6 /src/plugins | |
parent | 8836a4d5f0fbbbf18565e8dc64ab89e95a39720f (diff) |
eglfs: Update screen destruction to follow the new approach
Call destroyScreen(), like other platform plugins do since
9b4fbe85d2e00c625c3d4abd975faf555000f685.
Change-Id: Idbddb026d7a964f15c00acfacf70064405dc3f16
Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/platforms/eglfs/qeglfsdeviceintegration.cpp | 9 | ||||
-rw-r--r-- | src/plugins/platforms/eglfs/qeglfsintegration.cpp | 5 | ||||
-rw-r--r-- | src/plugins/platforms/eglfs/qeglfsintegration.h | 1 |
3 files changed, 13 insertions, 2 deletions
diff --git a/src/plugins/platforms/eglfs/qeglfsdeviceintegration.cpp b/src/plugins/platforms/eglfs/qeglfsdeviceintegration.cpp index a2e1ac3832..69a5f67ea9 100644 --- a/src/plugins/platforms/eglfs/qeglfsdeviceintegration.cpp +++ b/src/plugins/platforms/eglfs/qeglfsdeviceintegration.cpp @@ -40,9 +40,11 @@ ****************************************************************************/ #include "qeglfsdeviceintegration.h" +#include "qeglfsintegration.h" #include <QtPlatformSupport/private/qeglconvenience_p.h> #include <QtPlatformSupport/private/qeglplatformcursor_p.h> #include <QGuiApplication> +#include <private/qguiapplication_p.h> #include <QScreen> #include <QDir> #include <QRegularExpression> @@ -185,8 +187,11 @@ void QEGLDeviceIntegration::screenInit() void QEGLDeviceIntegration::screenDestroy() { - while (!qApp->screens().isEmpty()) - delete qApp->screens().last()->handle(); + QGuiApplication *app = qGuiApp; + QEglFSIntegration *platformIntegration = static_cast<QEglFSIntegration *>( + QGuiApplicationPrivate::platformIntegration()); + while (!app->screens().isEmpty()) + platformIntegration->removeScreen(app->screens().last()->handle()); } QSizeF QEGLDeviceIntegration::physicalScreenSize() const diff --git a/src/plugins/platforms/eglfs/qeglfsintegration.cpp b/src/plugins/platforms/eglfs/qeglfsintegration.cpp index 8cb23f2c09..80a029c27f 100644 --- a/src/plugins/platforms/eglfs/qeglfsintegration.cpp +++ b/src/plugins/platforms/eglfs/qeglfsintegration.cpp @@ -82,6 +82,11 @@ void QEglFSIntegration::addScreen(QPlatformScreen *screen) screenAdded(screen); } +void QEglFSIntegration::removeScreen(QPlatformScreen *screen) +{ + destroyScreen(screen); +} + void QEglFSIntegration::initialize() { qt_egl_device_integration()->platformInit(); diff --git a/src/plugins/platforms/eglfs/qeglfsintegration.h b/src/plugins/platforms/eglfs/qeglfsintegration.h index b75dc240bb..2074d80e56 100644 --- a/src/plugins/platforms/eglfs/qeglfsintegration.h +++ b/src/plugins/platforms/eglfs/qeglfsintegration.h @@ -47,6 +47,7 @@ public: QEglFSIntegration(); void addScreen(QPlatformScreen *screen); + void removeScreen(QPlatformScreen *screen); void initialize() Q_DECL_OVERRIDE; void destroy() Q_DECL_OVERRIDE; |