diff options
author | Jorgen Lind <jorgen.lind@digia.com> | 2013-11-21 14:46:38 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-12-27 15:32:48 +0100 |
commit | 5361e7778c31ad8da53be2c394faba6c2f3b7f3d (patch) | |
tree | 0869806d379c8ef610257a1248d41599d4fc0488 /src/hardwareintegration | |
parent | ab30cabb6383413ee3b2913615d75082c0c55686 (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')
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; |