diff --git a/src/platform/eglconvenience/eglplatformcontext.cpp b/src/platform/eglconvenience/eglplatformcontext.cpp index 4a8d0ecb..f598b2cc 100644 --- a/src/platform/eglconvenience/eglplatformcontext.cpp +++ b/src/platform/eglconvenience/eglplatformcontext.cpp @@ -442,11 +442,19 @@ void EGLPlatformContext::swapBuffers(QPlatformSurface *surface) } } +#if QT_VERSION >= QT_VERSION_CHECK(5, 7, 0) +QFunctionPointer EGLPlatformContext::getProcAddress(const char *procName) +{ + eglBindAPI(m_api); + return eglGetProcAddress(procName); +} +#else void (*EGLPlatformContext::getProcAddress(const QByteArray &procName)) () { eglBindAPI(m_api); return eglGetProcAddress(procName.constData()); } +#endif QSurfaceFormat EGLPlatformContext::format() const { diff --git a/src/platform/eglconvenience/eglplatformcontext.h b/src/platform/eglconvenience/eglplatformcontext.h index a176fb25..c81ecabd 100644 --- a/src/platform/eglconvenience/eglplatformcontext.h +++ b/src/platform/eglconvenience/eglplatformcontext.h @@ -70,7 +70,11 @@ class GREENISLANDPLATFORM_EXPORT EGLPlatformContext : public QPlatformOpenGLCont bool makeCurrent(QPlatformSurface *surface) Q_DECL_OVERRIDE; void doneCurrent() Q_DECL_OVERRIDE; void swapBuffers(QPlatformSurface *surface) Q_DECL_OVERRIDE; +#if QT_VERSION >= QT_VERSION_CHECK(5, 7, 0) + QFunctionPointer getProcAddress(const char *procName) Q_DECL_OVERRIDE; +#else QFunctionPointer getProcAddress(const QByteArray &procName) Q_DECL_OVERRIDE; +#endif QSurfaceFormat format() const Q_DECL_OVERRIDE; bool isSharing() const Q_DECL_OVERRIDE { return m_shareContext != EGL_NO_CONTEXT; }