summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaszlo Agocs <laszlo.p.agocs@nokia.com>2011-06-20 12:21:29 +0200
committerLaszlo Agocs <laszlo.p.agocs@nokia.com>2011-06-20 12:21:29 +0200
commit672fe5d43cd256813acdda95e2cd9a4d22ad705a (patch)
treec7b97b36b1798373caf929f6765b2b804c10516f
parent83130d791dafaa437486fe740b8fcd18ee82e3c8 (diff)
Restoring QT_WAYLAND_GL_SUPPORT ifdefs.
-rw-r--r--src/plugins/platforms/wayland/qwaylanddisplay.cpp10
-rw-r--r--src/plugins/platforms/wayland/qwaylanddisplay.h4
-rw-r--r--src/plugins/platforms/wayland/qwaylandintegration.cpp15
3 files changed, 28 insertions, 1 deletions
diff --git a/src/plugins/platforms/wayland/qwaylanddisplay.cpp b/src/plugins/platforms/wayland/qwaylanddisplay.cpp
index 324f9dc632..6f61cf1012 100644
--- a/src/plugins/platforms/wayland/qwaylanddisplay.cpp
+++ b/src/plugins/platforms/wayland/qwaylanddisplay.cpp
@@ -47,7 +47,9 @@
#include "qwaylandinputdevice.h"
#include "qwaylandclipboard.h"
+#ifdef QT_WAYLAND_GL_SUPPORT
#include "gl_integration/qwaylandglintegration.h"
+#endif
#ifdef QT_WAYLAND_WINDOWMANAGER_SUPPORT
#include "windowmanager_integration/qwaylandwindowmanagerintegration.h"
@@ -91,10 +93,12 @@ struct wl_visual *QWaylandDisplay::argbPremultipliedVisual()
return premultiplied_argb_visual;
}
+#ifdef QT_WAYLAND_GL_SUPPORT
QWaylandGLIntegration * QWaylandDisplay::eglIntegration()
{
return mEglIntegration;
}
+#endif
#ifdef QT_WAYLAND_WINDOWMANAGER_SUPPORT
QWaylandWindowManagerIntegration *QWaylandDisplay::windowManagerIntegration()
@@ -132,7 +136,9 @@ QWaylandDisplay::QWaylandDisplay(void)
wl_display_add_global_listener(mDisplay, QWaylandDisplay::displayHandleGlobal, this);
+#ifdef QT_WAYLAND_GL_SUPPORT
mEglIntegration = QWaylandGLIntegration::createGLIntegration(this);
+#endif
#ifdef QT_WAYLAND_WINDOWMANAGER_SUPPORT
mWindowManagerIntegration = QWaylandWindowManagerIntegration::createIntegration(this);
@@ -142,7 +148,9 @@ QWaylandDisplay::QWaylandDisplay(void)
qRegisterMetaType<uint32_t>("uint32_t");
+#ifdef QT_WAYLAND_GL_SUPPORT
mEglIntegration->initialize();
+#endif
connect(QAbstractEventDispatcher::instance(), SIGNAL(aboutToBlock()), this, SLOT(flushRequests()));
@@ -157,7 +165,9 @@ QWaylandDisplay::QWaylandDisplay(void)
QWaylandDisplay::~QWaylandDisplay(void)
{
close(mFd);
+#ifdef QT_WAYLAND_GL_SUPPORT
delete mEglIntegration;
+#endif
wl_display_destroy(mDisplay);
}
diff --git a/src/plugins/platforms/wayland/qwaylanddisplay.h b/src/plugins/platforms/wayland/qwaylanddisplay.h
index 2c31687518..5226f0d8e3 100644
--- a/src/plugins/platforms/wayland/qwaylanddisplay.h
+++ b/src/plugins/platforms/wayland/qwaylanddisplay.h
@@ -73,7 +73,9 @@ public:
struct wl_visual *argbVisual();
struct wl_visual *argbPremultipliedVisual();
+#ifdef QT_WAYLAND_GL_SUPPORT
QWaylandGLIntegration *eglIntegration();
+#endif
#ifdef QT_WAYLAND_WINDOWMANAGER_SUPPORT
QWaylandWindowManagerIntegration *windowManagerIntegration();
@@ -132,7 +134,9 @@ private:
struct wl_compositor *compositor,
uint32_t id, uint32_t token);
+#ifdef QT_WAYLAND_GL_SUPPORT
QWaylandGLIntegration *mEglIntegration;
+#endif
#ifdef QT_WAYLAND_WINDOWMANAGER_SUPPORT
QWaylandWindowManagerIntegration *mWindowManagerIntegration;
diff --git a/src/plugins/platforms/wayland/qwaylandintegration.cpp b/src/plugins/platforms/wayland/qwaylandintegration.cpp
index 4edcfc43f4..090edfe324 100644
--- a/src/plugins/platforms/wayland/qwaylandintegration.cpp
+++ b/src/plugins/platforms/wayland/qwaylandintegration.cpp
@@ -55,7 +55,9 @@
#include <QtGui/private/qpixmap_raster_p.h>
+#ifdef QT_WAYLAND_GL_SUPPORT
#include "gl_integration/qwaylandglintegration.h"
+#endif
QWaylandIntegration::QWaylandIntegration()
: mFontDb(new QGenericUnixFontDatabase())
@@ -80,7 +82,12 @@ bool QWaylandIntegration::hasCapability(QPlatformIntegration::Capability cap) co
{
switch (cap) {
case ThreadedPixmaps: return true;
- case OpenGL: return true;
+ case OpenGL:
+#ifdef QT_WAYLAND_GL_SUPPORT
+ return true;
+#else
+ return false;
+#endif
default: return QPlatformIntegration::hasCapability(cap);
}
}
@@ -92,15 +99,21 @@ QPixmapData *QWaylandIntegration::createPixmapData(QPixmapData::PixelType type)
QPlatformWindow *QWaylandIntegration::createPlatformWindow(QWindow *window) const
{
+#ifdef QT_WAYLAND_GL_SUPPORT
if (window->surfaceType() == QWindow::OpenGLSurface)
return mDisplay->eglIntegration()->createEglWindow(window);
+#endif
return new QWaylandShmWindow(window);
}
QPlatformGLContext *QWaylandIntegration::createPlatformGLContext(const QGuiGLFormat &glFormat, QPlatformGLContext *share) const
{
+#ifdef QT_WAYLAND_GL_SUPPORT
return mDisplay->eglIntegration()->createPlatformGLContext(glFormat, share);
+#else
+ return 0;
+#endif
}
QWindowSurface *QWaylandIntegration::createWindowSurface(QWindow *window, WId winId) const