summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Dewes <aaron.dewes@web.de>2020-08-19 18:47:22 +0200
committerLiang Qi <liang.qi@qt.io>2020-09-07 08:55:22 +0000
commit7d1debe004cbf3e0a1561dd234fbedab9b2ab3f9 (patch)
treed4b9af7964d6ebb8885187be5dec7ecd5c8c06cf
parent07b2d3e68d5223cd41f0091fea6f2fa036c80ac4 (diff)
downloadqtwayland-7d1debe004cbf3e0a1561dd234fbedab9b2ab3f9.tar.gz
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. Pick-to: 5.15 Fixes: QTBUG-86109 Change-Id: I14ad2e5d6a62f5f285d01a4fcd47a34bf9495cf9 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
-rw-r--r--src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglintegration.cpp3
-rw-r--r--src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglintegration.h2
-rw-r--r--src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.cpp4
-rw-r--r--src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.h2
4 files changed, 7 insertions, 4 deletions
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 c22fa916..87ae8c02 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<QWaylandBrcmEglIntegration *>(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 2fd5aa76..0c809e1a 100644
--- a/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.h
+++ b/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.h
@@ -57,7 +57,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;