Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-134012

Effect of setting Qt::WA_OutsideWSRange on Wayland changed in recent Qt versions

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P1: Critical
    • None
    • 6.8.2
    • Linux/Wayland, Linux/X11

    Description

      It seems that the effect of calling QWidget::setAttribute(Qt::WA_OutsideWSRange) on Wayland has changed recently, but I'm not sure what the correct behavior is.

      I noticed this issue while investigating this bug report for Konqueror. Konqueror uses a QWebEngineView to generate thumbnails of html files: to avoid showing the view, it calls QWidget::setAttribute(Qt::WA_OutsideWSRange) on it. However, at least with Qt 6.8.2 and Wayland 1.23.1, this doesn't work anymore and the view is shown.

      In a virtual machine with Qt 6.8.0 and Wayland 1.23.0, this doesn't happen and the QWebEngineView isn't shown.

      I attach a program showing the issue: it has a button to show a new toplevel widget and a check box to decide whether to call QWidget::setAttribute(Qt::WA_OutsideWSRange) on this new widget before showing it. With Qt 6.8.2 and Wayland 1.23.1, the widget is visible regardless of the state of the check box; in the virtual machine with Qt 6.8.0 and Wayland 1.23.0 the widget is visible only if QWidget::setAttribute(Qt::WA_OutsideWSRange) is not called.

      Attachments

        1. CMakeLists.txt
          0.2 kB
        2. main.cpp
          0.7 kB

        Issue Links

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

          Activity

            People

              qt.team.quick.subscriptions Qt Quick and Widgets Team
              stefano.crocco Stefano Crocco
              Votes:
              1 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There are no open Gerrit changes