From a8906e35103c9c30597bf3b0034371498669f9da Mon Sep 17 00:00:00 2001 From: Oliver Wolff Date: Thu, 12 Apr 2018 13:59:51 +0200 Subject: winrt: QWinRTEGLContext: add isValid functionality QPlatformOpenGLContext::isValid always returns true but it is possible that creation of the context fails in QWinRTEGLContext. This case should be reflected in isValid because other places (like QOpenGLContext::isValid()) rely on it and not having proper information about the validity of the context might lead to crashes. Task-number: QTBUG-67568 Change-Id: If989ca47cdf7b27c44961beee5d97a4647184b0a Reviewed-by: Maurice Kalinowski --- src/plugins/platforms/winrt/qwinrteglcontext.cpp | 6 ++++++ src/plugins/platforms/winrt/qwinrteglcontext.h | 1 + 2 files changed, 7 insertions(+) diff --git a/src/plugins/platforms/winrt/qwinrteglcontext.cpp b/src/plugins/platforms/winrt/qwinrteglcontext.cpp index 8a250c516a..eeb79be2e6 100644 --- a/src/plugins/platforms/winrt/qwinrteglcontext.cpp +++ b/src/plugins/platforms/winrt/qwinrteglcontext.cpp @@ -354,6 +354,12 @@ QFunctionPointer QWinRTEGLContext::getProcAddress(const char *procName) return eglGetProcAddress(procName); } +bool QWinRTEGLContext::isValid() const +{ + Q_D(const QWinRTEGLContext); + return d->eglContext != EGL_NO_CONTEXT; +} + EGLDisplay QWinRTEGLContext::display() { return g->eglDisplay; diff --git a/src/plugins/platforms/winrt/qwinrteglcontext.h b/src/plugins/platforms/winrt/qwinrteglcontext.h index 5c75aa90d0..325dc82c40 100644 --- a/src/plugins/platforms/winrt/qwinrteglcontext.h +++ b/src/plugins/platforms/winrt/qwinrteglcontext.h @@ -60,6 +60,7 @@ public: QSurfaceFormat format() const override; QFunctionPointer getProcAddress(const char *procName) override; + bool isValid() const override; static EGLDisplay display(); private: -- cgit v1.2.3