diff options
Diffstat (limited to 'src/platformsupport')
-rw-r--r-- | src/platformsupport/eglconvenience/qeglplatformintegration.cpp | 11 | ||||
-rw-r--r-- | src/platformsupport/eglconvenience/qeglplatformintegration_p.h | 1 |
2 files changed, 12 insertions, 0 deletions
diff --git a/src/platformsupport/eglconvenience/qeglplatformintegration.cpp b/src/platformsupport/eglconvenience/qeglplatformintegration.cpp index b8205dc575..a6207cf402 100644 --- a/src/platformsupport/eglconvenience/qeglplatformintegration.cpp +++ b/src/platformsupport/eglconvenience/qeglplatformintegration.cpp @@ -95,9 +95,15 @@ QEGLPlatformIntegration::QEGLPlatformIntegration() QEGLPlatformIntegration::~QEGLPlatformIntegration() { + foreach (QWindow *w, qGuiApp->topLevelWindows()) + w->destroy(); + delete m_screen; + if (m_display != EGL_NO_DISPLAY) eglTerminate(m_display); + + destroy(); } void QEGLPlatformIntegration::initialize() @@ -118,6 +124,11 @@ void QEGLPlatformIntegration::initialize() m_vtHandler.reset(new QFbVtHandler); } +void QEGLPlatformIntegration::destroy() +{ + +} + QAbstractEventDispatcher *QEGLPlatformIntegration::createEventDispatcher() const { return createUnixEventDispatcher(); diff --git a/src/platformsupport/eglconvenience/qeglplatformintegration_p.h b/src/platformsupport/eglconvenience/qeglplatformintegration_p.h index 4d7adce309..11977db78b 100644 --- a/src/platformsupport/eglconvenience/qeglplatformintegration_p.h +++ b/src/platformsupport/eglconvenience/qeglplatformintegration_p.h @@ -65,6 +65,7 @@ public: ~QEGLPlatformIntegration(); void initialize() Q_DECL_OVERRIDE; + virtual void destroy(); QEGLPlatformScreen *screen() const { return m_screen; } EGLDisplay display() const { return m_display; } |