Fix build when xcb_glx_plugin config is disabled

After 7266bd459e QGLXIntegration and
QGLXContext are not defined if xcb_glx_plugin is disabled. That will
happen e.g. when gles is requested instead of desktop GL.

Protect the usage of those symbols in the xcb plugin accordingly.

Change-Id: I4bea60787fd3175450de05a8e522ef9c8b438ee7
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
bb10
Eirik Aavitsland 2021-04-19 20:17:52 +02:00
parent 8bae441d90
commit 05eff54d66
2 changed files with 6 additions and 0 deletions

View File

@ -274,6 +274,7 @@ QPlatformOpenGLContext *QXcbIntegration::createPlatformOpenGLContext(QOpenGLCont
return glIntegration->createPlatformOpenGLContext(context);
}
# if QT_CONFIG(xcb_glx_plugin)
QOpenGLContext *QXcbIntegration::createOpenGLContext(GLXContext context, void *visualInfo, QOpenGLContext *shareContext) const
{
using namespace QNativeInterface::Private;
@ -282,6 +283,7 @@ QOpenGLContext *QXcbIntegration::createOpenGLContext(GLXContext context, void *v
else
return nullptr;
}
# endif
#if QT_CONFIG(egl)
QOpenGLContext *QXcbIntegration::createOpenGLContext(EGLContext context, EGLDisplay display, QOpenGLContext *shareContext) const

View File

@ -57,7 +57,9 @@ class QXcbNativeInterface;
class Q_XCB_EXPORT QXcbIntegration : public QPlatformIntegration
#ifndef QT_NO_OPENGL
# if QT_CONFIG(xcb_glx_plugin)
, public QNativeInterface::Private::QGLXIntegration
# endif
# if QT_CONFIG(egl)
, public QNativeInterface::Private::QEGLIntegration
# endif
@ -72,7 +74,9 @@ public:
QPlatformWindow *createForeignWindow(QWindow *window, WId nativeHandle) const override;
#ifndef QT_NO_OPENGL
QPlatformOpenGLContext *createPlatformOpenGLContext(QOpenGLContext *context) const override;
# if QT_CONFIG(xcb_glx_plugin)
QOpenGLContext *createOpenGLContext(GLXContext context, void *visualInfo, QOpenGLContext *shareContext) const override;
# endif
# if QT_CONFIG(egl)
QOpenGLContext *createOpenGLContext(EGLContext context, EGLDisplay display, QOpenGLContext *shareContext) const override;
# endif