XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P2: Important
    • 5.15.2, 6.1.0 RC
    • 5.15.0
    • QPA: Wayland
    • None
    • Raspberry Pi
    • Linux/Wayland
    • 7d1debe004cbf3e0a1561dd234fbedab9b2ab3f9 (qt/qtwayland/dev) 96cfbda63a249385eef02e7996098079569a13b8 (qt/qtwayland/5.15)

    Description

      QT5wayland commit d58008c4310f99d0faebcfb2fd9aa9296b813ecf broke the brcm integration in qt5wayland.

       

      This bug can be fixed by applying this change

       

      --- a/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglintegration.cpp
      +++ b/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglintegration.cpp
      @@ -78,6 +78,7 @@
       
       void QWaylandBrcmEglIntegration::initialize(QWaylandDisplay *waylandDisplay)
       {
      +    m_display = waylandDisplay;
           m_waylandDisplay = waylandDisplay->wl_display();
           waylandDisplay->addRegistryListener(wlDisplayHandleGlobal, this);
           EGLint major,minor;
      @@ -111,7 +112,7 @@
       
       QWaylandWindow *QWaylandBrcmEglIntegration::createEglWindow(QWindow *window)
       {
      -    return new QWaylandBrcmEglWindow(window);
      +    return new QWaylandBrcmEglWindow(window, m_display);
       }
       
       QPlatformOpenGLContext *QWaylandBrcmEglIntegration::createPlatformOpenGLContext(const QSurfaceFormat &glFormat, QPlatformOpenGLContext *share) const--- a/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglintegration.h
      +++ b/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglintegration.h
      @@ -93,6 +93,8 @@
           struct qt_brcm *m_waylandBrcm = nullptr;
       
           EGLDisplay m_eglDisplay = EGL_NO_DISPLAY;
      +    
      +    QWaylandDisplay *m_display = nullptr;
       };
       
       }--- a/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.cpp
      +++ b/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.cpp
      @@ -124,8 +124,8 @@
           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()))--- a/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.h
      +++ b/src/hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.h
      @@ -58,7 +58,7 @@
       {
           Q_OBJECT
       public:
      -    QWaylandBrcmEglWindow(QWindow *window);
      +    QWaylandBrcmEglWindow(QWindow *window, QWaylandDisplay *display);
           ~QWaylandBrcmEglWindow();
           WindowType windowType() const override;
           void setGeometry(const QRect &rect) override;

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            qt.team.graphics.and.multimedia Qt Graphics Team
            raspberrypifan Aaron Dewes
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes