diff options
author | David Edmundson <davidedmundson@kde.org> | 2018-10-30 19:02:26 +0000 |
---|---|---|
committer | Jani Heikkinen <jani.heikkinen@qt.io> | 2018-10-31 13:03:30 +0000 |
commit | 7451faab740ec6294159be60d8a713f5e8070c09 (patch) | |
tree | 385dccba6c48b0889936a617210aff6d257ef985 | |
parent | 52876056ff3dcda97f93932bc8c6e1c0fbce9d5e (diff) | |
download | qtwayland-7451faab740ec6294159be60d8a713f5e8070c09.tar.gz |
Client: Explicitly send expose window on first configure
Before 88a0246a46c30e08e9730d16cf8739773447d058 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>
-rw-r--r-- | src/plugins/shellintegration/xdg-shell-v6/qwaylandxdgshellv6.cpp | 1 | ||||
-rw-r--r-- | src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/src/plugins/shellintegration/xdg-shell-v6/qwaylandxdgshellv6.cpp b/src/plugins/shellintegration/xdg-shell-v6/qwaylandxdgshellv6.cpp index 3d3af692..c055cbb1 100644 --- a/src/plugins/shellintegration/xdg-shell-v6/qwaylandxdgshellv6.cpp +++ b/src/plugins/shellintegration/xdg-shell-v6/qwaylandxdgshellv6.cpp @@ -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. diff --git a/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp b/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp index c723192c..014b6bed 100644 --- a/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp +++ b/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp @@ -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. |