summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/xcb/gl_integrations/xcb_egl/qxcbeglintegration.cpp
diff options
context:
space:
mode:
authorAndrew Knight <andrew.knight@intopalo.com>2015-02-09 16:19:40 +0200
committerAndrew Knight <qt@panimo.net>2015-02-17 05:09:17 +0000
commitb63c721a0e8d637dd2a34cc5d335195349443366 (patch)
tree41ef1f08438d05b4ac9d32b3248dceb1e48a3a30 /src/plugins/platforms/xcb/gl_integrations/xcb_egl/qxcbeglintegration.cpp
parentfbeeaf23fe1755bc28185781d8182ddcb4e7985a (diff)
xcb: Fix build with -no-xcb-xlib -qt-xcb
The EGL integration should not call Xlib functions in this case. Change-Id: I46656b12d603ca1b4b0b41f34c3c0e8410c91db8 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
Diffstat (limited to 'src/plugins/platforms/xcb/gl_integrations/xcb_egl/qxcbeglintegration.cpp')
-rw-r--r--src/plugins/platforms/xcb/gl_integrations/xcb_egl/qxcbeglintegration.cpp17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/plugins/platforms/xcb/gl_integrations/xcb_egl/qxcbeglintegration.cpp b/src/plugins/platforms/xcb/gl_integrations/xcb_egl/qxcbeglintegration.cpp
index e82a24539e..16d32b3235 100644
--- a/src/plugins/platforms/xcb/gl_integrations/xcb_egl/qxcbeglintegration.cpp
+++ b/src/plugins/platforms/xcb/gl_integrations/xcb_egl/qxcbeglintegration.cpp
@@ -57,13 +57,7 @@ QXcbEglIntegration::~QXcbEglIntegration()
bool QXcbEglIntegration::initialize(QXcbConnection *connection)
{
m_connection = connection;
-
-#ifdef USE_XCB_XLIB
- Display *dpy = (Display *)m_connection->xlib_display();
-#else
- EGLNativeDisplayType dpy = EGL_DEFAULT_DISPLAY;
-#endif
- m_egl_display = eglGetDisplay(dpy);
+ m_egl_display = eglGetDisplay(reinterpret_cast<EGLNativeDisplayType>(xlib_display()));
EGLint major, minor;
bool success = eglInitialize(m_egl_display, &major, &minor);
@@ -101,4 +95,13 @@ QPlatformOffscreenSurface *QXcbEglIntegration::createPlatformOffscreenSurface(QO
return new QEGLPbuffer(eglDisplay(), surface->requestedFormat(), surface);
}
+void *QXcbEglIntegration::xlib_display() const
+{
+#ifdef XCB_USE_XLIB
+ return m_connection->xlib_display();
+#else
+ return EGL_DEFAULT_DISPLAY;
+#endif
+}
+
QT_END_NAMESPACE