-
Bug
-
Resolution: Incomplete
-
P2: Important
-
None
-
6.6
-
None
-
Fedora 38, KDE Plasma Wayland
The following code shows a broken UI on Plasma Wayland
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
auto model = new QStandardItemModel;
for (int i=0; i < 20; ++i) {
auto item = new QStandardItem(QString::number(i));
model->appendRow(item);
}
auto list = new QListView(this);
list->setModel(model);
auto video = new QVideoWidget(list);
setCentralWidget(list);
}
The ListView doesn't update on scrolling. On X11 this works fine.
The cause is the following:
In https://codebrowser.dev/qt6/qtbase/src/widgets/kernel/qwindowcontainer.cpp.html#78 winId() is called on the listview, i.e. not a toplevel window. On Wayland this creates a subsurface, which causes this kind of UI glitches. This is a relatively well-known problem.
Qt is built from 6.6 branch. qtbase 1f0a31d6a6113e92f561fb9172580b5f35147450, qtmultimedia 0c496a16accde6e85a224604eec867a403b9597b
- depends on
-
QTBUG-94729
Qt Wayland Client public API
-
- Open
-