Client: Explicitly send expose window on first configure

Before 46aece51330b6f9b5b4bfd68a5b3b183dc5b1c38 we would always call
QWaylandWindow::applyConfigure which in turn sends an expose event.

Without that clients do not commit their initial buffer.

This adds back the expose event on the first received configure.

Fixes: QTBUG-71509
Change-Id: Ica39bb23245957948e1e1f75caf4f16f7b086ef7
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
This commit is contained in:
David Edmundson 2018-10-30 19:02:26 +00:00 committed by Jani Heikkinen
parent c03495c90e
commit e6d55239c4
2 changed files with 2 additions and 0 deletions

View File

@ -342,6 +342,7 @@ void QWaylandXdgSurfaceV6::zxdg_surface_v6_configure(uint32_t serial)
if (!m_configured) {
// We have to do the initial applyConfigure() immediately, since that is the expose.
applyConfigure();
m_exposeRegion = QRegion(QRect(QPoint(), m_window->geometry().size()));
} else {
// Later configures are probably resizes, so we have to queue them up for a time when we
// are not painting to the window.

View File

@ -376,6 +376,7 @@ void QWaylandXdgSurface::xdg_surface_configure(uint32_t serial)
if (!m_configured) {
// We have to do the initial applyConfigure() immediately, since that is the expose.
applyConfigure();
m_exposeRegion = QRegion(QRect(QPoint(), m_window->geometry().size()));
} else {
// Later configures are probably resizes, so we have to queue them up for a time when we
// are not painting to the window.