From 96cfbda63a249385eef02e7996098079569a13b8 Mon Sep 17 00:00:00 2001 From: Aaron Dewes Date: Wed, 19 Aug 2020 18:47:22 +0200 Subject: Fix brcm-egl wayland integration This amends d58008c431 which changed the number of arguments QWindow takes. The brcm-egl integration was not updated for these changes. Fixes: QTBUG-86109 Change-Id: I14ad2e5d6a62f5f285d01a4fcd47a34bf9495cf9 Reviewed-by: Paul Olav Tvete (cherry picked from commit 7d1debe004cbf3e0a1561dd234fbedab9b2ab3f9) Reviewed-by: Qt Cherry-pick Bot --- .../client/brcm-egl/qwaylandbrcmeglintegration.cpp | 3 ++- src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglintegration.h | 2 ++ src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.cpp | 4 ++-- src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.h | 2 +- 4 files changed, 7 insertions(+), 4 deletions(-) (limited to 'src/hardwareintegration') diff --git a/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglintegration.cpp b/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglintegration.cpp index 59dc7682..4c310b96 100644 --- a/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglintegration.cpp +++ b/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglintegration.cpp @@ -78,6 +78,7 @@ QWaylandBrcmEglIntegration::~QWaylandBrcmEglIntegration() void QWaylandBrcmEglIntegration::initialize(QWaylandDisplay *waylandDisplay) { + m_display = waylandDisplay; m_waylandDisplay = waylandDisplay->wl_display(); waylandDisplay->addRegistryListener(wlDisplayHandleGlobal, this); EGLint major,minor; @@ -111,7 +112,7 @@ void QWaylandBrcmEglIntegration::initialize(QWaylandDisplay *waylandDisplay) QWaylandWindow *QWaylandBrcmEglIntegration::createEglWindow(QWindow *window) { - return new QWaylandBrcmEglWindow(window); + return new QWaylandBrcmEglWindow(window, m_display); } QPlatformOpenGLContext *QWaylandBrcmEglIntegration::createPlatformOpenGLContext(const QSurfaceFormat &glFormat, QPlatformOpenGLContext *share) const diff --git a/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglintegration.h b/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglintegration.h index f65a88b1..9db8e161 100644 --- a/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglintegration.h +++ b/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglintegration.h @@ -93,6 +93,8 @@ private: struct qt_brcm *m_waylandBrcm = nullptr; EGLDisplay m_eglDisplay = EGL_NO_DISPLAY; + + QWaylandDisplay *m_display = nullptr; }; } diff --git a/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.cpp b/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.cpp index 31adf100..1230b067 100644 --- a/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.cpp +++ b/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.cpp @@ -124,8 +124,8 @@ private: struct wl_event_queue *m_eventQueue = nullptr; }; -QWaylandBrcmEglWindow::QWaylandBrcmEglWindow(QWindow *window) - : QWaylandWindow(window) +QWaylandBrcmEglWindow::QWaylandBrcmEglWindow(QWindow *window, QWaylandDisplay *display) + : QWaylandWindow(window, display) , m_eglIntegration(static_cast(mDisplay->clientBufferIntegration())) , m_format(window->format()) , m_eventQueue(wl_display_create_queue(mDisplay->wl_display())) diff --git a/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.h b/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.h index 2d418eca..634b4e2d 100644 --- a/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.h +++ b/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.h @@ -58,7 +58,7 @@ class QWaylandBrcmEglWindow : public QWaylandWindow { Q_OBJECT public: - QWaylandBrcmEglWindow(QWindow *window); + QWaylandBrcmEglWindow(QWindow *window, QWaylandDisplay *display); ~QWaylandBrcmEglWindow(); WindowType windowType() const override; void setGeometry(const QRect &rect) override; -- cgit v1.2.1