summaryrefslogtreecommitdiffstats
path: root/src/hardwareintegration
diff options
context:
space:
mode:
authorJorgen Lind <jorgen.lind@digia.com>2013-11-21 14:46:38 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-12-27 15:32:48 +0100
commit5361e7778c31ad8da53be2c394faba6c2f3b7f3d (patch)
tree0869806d379c8ef610257a1248d41599d4fc0488 /src/hardwareintegration
parentab30cabb6383413ee3b2913615d75082c0c55686 (diff)
Change constructor of QWaylandClientBufferIntegration
For QWaylandClientBufferIntegrations to be loadable from plugins the constructor shold not take any arguments, but give the display in the initialize function Change-Id: Ie38555120d7f29c6ba7eef0f095837235782684d Reviewed-by: Andy Nichols <andy.nichols@digia.com>
Diffstat (limited to 'src/hardwareintegration')
-rw-r--r--src/hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration.cpp8
-rw-r--r--src/hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration.h10
-rw-r--r--src/hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglclientbufferintegration.cpp9
-rw-r--r--src/hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglclientbufferintegration.h10
4 files changed, 20 insertions, 17 deletions
diff --git a/src/hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration.cpp b/src/hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration.cpp
index 372957f8a..68d38c498 100644
--- a/src/hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration.cpp
+++ b/src/hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration.cpp
@@ -55,8 +55,8 @@ static const char *qwaylandegl_threadedgl_blacklist_vendor[] = {
0
};
-QWaylandEglClientBufferIntegration::QWaylandEglClientBufferIntegration(QWaylandDisplay *display)
- : m_waylandDisplay(display->wl_display())
+QWaylandEglClientBufferIntegration::QWaylandEglClientBufferIntegration()
+ : m_waylandDisplay(0)
, m_supportsThreading(false)
{
qDebug() << "Using Wayland-EGL";
@@ -68,13 +68,15 @@ QWaylandEglClientBufferIntegration::~QWaylandEglClientBufferIntegration()
eglTerminate(m_eglDisplay);
}
-void QWaylandEglClientBufferIntegration::initialize()
+void QWaylandEglClientBufferIntegration::initialize(QWaylandDisplay *display)
{
QByteArray eglPlatform = qgetenv("EGL_PLATFORM");
if (eglPlatform.isEmpty()) {
setenv("EGL_PLATFORM","wayland",true);
}
+ m_waylandDisplay = display->wl_display();
+
EGLint major,minor;
m_eglDisplay = eglGetDisplay((EGLNativeDisplayType) m_waylandDisplay);
if (m_eglDisplay == NULL) {
diff --git a/src/hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration.h b/src/hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration.h
index 15964c999..6b4719b7d 100644
--- a/src/hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration.h
+++ b/src/hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration.h
@@ -54,14 +54,14 @@ class QWindow;
class QWaylandEglClientBufferIntegration : public QWaylandClientBufferIntegration
{
public:
- QWaylandEglClientBufferIntegration(QWaylandDisplay *display);
+ QWaylandEglClientBufferIntegration();
~QWaylandEglClientBufferIntegration();
- void initialize();
- bool supportsThreadedOpenGL() const;
+ void initialize(QWaylandDisplay *display) Q_DECL_OVERRIDE;
+ bool supportsThreadedOpenGL() const Q_DECL_OVERRIDE;
- QWaylandWindow *createEglWindow(QWindow *window);
- QPlatformOpenGLContext *createPlatformOpenGLContext(const QSurfaceFormat &glFormat, QPlatformOpenGLContext *share) const;
+ QWaylandWindow *createEglWindow(QWindow *window) Q_DECL_OVERRIDE;
+ QPlatformOpenGLContext *createPlatformOpenGLContext(const QSurfaceFormat &glFormat, QPlatformOpenGLContext *share) const Q_DECL_OVERRIDE;
EGLDisplay eglDisplay() const;
diff --git a/src/hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglclientbufferintegration.cpp b/src/hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglclientbufferintegration.cpp
index ed60e9bb6..12ab0a47d 100644
--- a/src/hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglclientbufferintegration.cpp
+++ b/src/hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglclientbufferintegration.cpp
@@ -49,12 +49,11 @@
QT_BEGIN_NAMESPACE
-QWaylandXCompositeEGLClientBufferIntegration::QWaylandXCompositeEGLClientBufferIntegration(QWaylandDisplay * waylandDisplay)
+QWaylandXCompositeEGLClientBufferIntegration::QWaylandXCompositeEGLClientBufferIntegration()
: QWaylandClientBufferIntegration()
- , mWaylandDisplay(waylandDisplay)
+ , mWaylandDisplay(0)
{
qDebug() << "Using XComposite-EGL";
- waylandDisplay->addRegistryListener(&wlDisplayHandleGlobal, this);
}
QWaylandXCompositeEGLClientBufferIntegration::~QWaylandXCompositeEGLClientBufferIntegration()
@@ -62,8 +61,10 @@ QWaylandXCompositeEGLClientBufferIntegration::~QWaylandXCompositeEGLClientBuffer
XCloseDisplay(mDisplay);
}
-void QWaylandXCompositeEGLClientBufferIntegration::initialize()
+void QWaylandXCompositeEGLClientBufferIntegration::initialize(QWaylandDisplay *display)
{
+ mWaylandDisplay = display;
+ mWaylandDisplay->addRegistryListener(&wlDisplayHandleGlobal, this);
}
QWaylandWindow * QWaylandXCompositeEGLClientBufferIntegration::createEglWindow(QWindow *window)
diff --git a/src/hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglclientbufferintegration.h b/src/hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglclientbufferintegration.h
index 0a8cc0f6c..9f27a1f7b 100644
--- a/src/hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglclientbufferintegration.h
+++ b/src/hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglclientbufferintegration.h
@@ -71,14 +71,14 @@ QT_BEGIN_NAMESPACE
class QWaylandXCompositeEGLClientBufferIntegration : public QWaylandClientBufferIntegration
{
public:
- QWaylandXCompositeEGLClientBufferIntegration(QWaylandDisplay * waylandDispaly);
+ QWaylandXCompositeEGLClientBufferIntegration();
~QWaylandXCompositeEGLClientBufferIntegration();
- void initialize();
- bool waitingForEvents() { return !mDisplay; }
+ void initialize(QWaylandDisplay *dispaly) Q_DECL_OVERRIDE;
+ bool waitingForEvents() Q_DECL_OVERRIDE { return !mDisplay; }
- QWaylandWindow *createEglWindow(QWindow *window);
- QPlatformOpenGLContext *createPlatformOpenGLContext(const QSurfaceFormat &glFormat, QPlatformOpenGLContext *share) const;
+ QWaylandWindow *createEglWindow(QWindow *window) Q_DECL_OVERRIDE;
+ QPlatformOpenGLContext *createPlatformOpenGLContext(const QSurfaceFormat &glFormat, QPlatformOpenGLContext *share) const Q_DECL_OVERRIDE;
QWaylandDisplay *waylandDisplay() const;
struct qt_xcomposite *waylandXComposite() const;