diff options
Diffstat (limited to 'src/plugins/platforms/xcb/qxcbintegration.cpp')
-rw-r--r-- | src/plugins/platforms/xcb/qxcbintegration.cpp | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/src/plugins/platforms/xcb/qxcbintegration.cpp b/src/plugins/platforms/xcb/qxcbintegration.cpp index ff8b617d3a..fd64185852 100644 --- a/src/plugins/platforms/xcb/qxcbintegration.cpp +++ b/src/plugins/platforms/xcb/qxcbintegration.cpp @@ -275,7 +275,26 @@ QPlatformOpenGLContext *QXcbIntegration::createPlatformOpenGLContext(QOpenGLCont } return glIntegration->createPlatformOpenGLContext(context); } -#endif + +QOpenGLContext *QXcbIntegration::createOpenGLContext(GLXContext context, void *visualInfo, QOpenGLContext *shareContext) const +{ + using namespace QPlatformInterface::Private; + if (auto *glxIntegration = dynamic_cast<QGLXIntegration*>(m_connection->glIntegration())) + return glxIntegration->createOpenGLContext(context, visualInfo, shareContext); + else + return nullptr; +} + +QOpenGLContext *QXcbIntegration::createOpenGLContext(EGLContext context, EGLDisplay display, QOpenGLContext *shareContext) const +{ + using namespace QPlatformInterface::Private; + if (auto *eglIntegration = dynamic_cast<QEGLIntegration*>(m_connection->glIntegration())) + return eglIntegration->createOpenGLContext(context, display, shareContext); + else + return nullptr; +} + +#endif // QT_NO_OPENGL QPlatformBackingStore *QXcbIntegration::createPlatformBackingStore(QWindow *window) const { |