https://bugs.kde.org/show_bug.cgi?id=500173
--- Comment #12 from Stefano Crocco <stefano.cro...@alice.it> --- (In reply to Nicolas Fella from comment #9) > I can reproduce with this program. I haven't really tried to reproduce it > without a QWebEngineView, but it might be possible > > #include <QApplication> > #include <QTimer> > #include <QUrl> > #include <QWebEngineView> > > int main(int argc, char **argv) { > QApplication app(argc, argv); > > QTimer::singleShot(0, [&app] { > const QUrl indexUrl = > QUrl::fromLocalFile("/home/nico/doc/html/bluezqt-adapter.html"); > > bool rendered = false; > > QWebEngineView view; > QObject::connect(&view, &QWebEngineView::loadFinished, [&rendered] { > QTimer::singleShot(1000, [&rendered] { rendered = true; }); > }); > > view.resize(500, 500); > > view.load(indexUrl); > view.setAttribute(Qt::WA_OutsideWSRange); > view.setWindowFlags(view.windowFlags() | Qt::BypassWindowManagerHint | > Qt::FramelessWindowHint); > view.move(5000, 5000); > view.show(); > > while (!rendered) > qApp->processEvents(QEventLoop::WaitForMoreEvents); > > QPixmap pix(500, 500); > pix.fill(QColor(245, 245, 245)); > > view.render(&pix); > view.hide(); > app.quit(); > }); > > return app.exec(); > } It seems that the issue is related to the Qt::WA_OutsideWSRange window attribute and that moving the window has no effect at all. I could reproduce the issue with the following program: int main(int argc, char **argv) { QApplication app(argc, argv); QWidget *mw = new QWidget(); QVBoxLayout *l = new QVBoxLayout(mw); mw->setLayout(l); QCheckBox *check = new QCheckBox("Enable WA_OutsideWSRange", mw); l->addWidget(check); QPushButton *btn = new QPushButton("show window", mw); l->addWidget(btn); auto showWindow = [&]() { QWidget *widget = new QWidget; if (check->isChecked()) { widget->setAttribute(Qt::WA_OutsideWSRange); } widget->show(); }; QObject::connect(btn, &QPushButton::clicked, mw, showWindow); mw->show(); app.exec(); return 0; } It just shows a check box and a button: when the button is pressed, a new toplevel widget is shown. If the checkbox is checked, the Qt::WA_OutsideWSRange attribute is set on the widget before showing it. With Qt 6.8.2, the new widget is always shown, while with Qt 6.8.0 (in the virtual machine) the widget is only shown when the checkbox is not checked. I don't know whether this is caused by the change in Qt version or in the Wayland version, since the virtual machine has version 1.23.0 while the real machine has 1.23.1. In any case, I created a Qt bug report: https://bugreports.qt.io/browse/QTBUG-134012 -- You are receiving this mail because: You are watching all bug changes.