diff options
author | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2019-05-26 22:27:55 +0200 |
---|---|---|
committer | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2019-05-26 22:27:55 +0200 |
commit | 7107f7501df329cf785cec1585767e5d7cbab6c2 (patch) | |
tree | 3a77de29b8a68621a2523e31f2c4c5c2d26fcb34 /src | |
parent | 03ac8d67fb6a94ae9c28325e306fd4291fde8bb6 (diff) | |
parent | a6c896e6cdbd7c6c68a64969c5b38b9cb44c8592 (diff) | |
download | qtwayland-7107f7501df329cf785cec1585767e5d7cbab6c2.tar.gz |
Merge "Merge remote-tracking branch 'origin/5.13' into dev"
Diffstat (limited to 'src')
3 files changed, 10 insertions, 1 deletions
diff --git a/src/plugins/shellintegration/xdg-shell/qwaylandxdgdecorationv1.cpp b/src/plugins/shellintegration/xdg-shell/qwaylandxdgdecorationv1.cpp index 345ff32a..c6e1afab 100644 --- a/src/plugins/shellintegration/xdg-shell/qwaylandxdgdecorationv1.cpp +++ b/src/plugins/shellintegration/xdg-shell/qwaylandxdgdecorationv1.cpp @@ -95,9 +95,15 @@ QWaylandXdgToplevelDecorationV1::mode QWaylandXdgToplevelDecorationV1::pending() return m_pending; } +bool QWaylandXdgToplevelDecorationV1::isConfigured() const +{ + return m_configured; +} + void QtWaylandClient::QWaylandXdgToplevelDecorationV1::zxdg_toplevel_decoration_v1_configure(uint32_t mode) { m_pending = zxdg_toplevel_decoration_v1::mode(mode); + m_configured = true; } } diff --git a/src/plugins/shellintegration/xdg-shell/qwaylandxdgdecorationv1_p.h b/src/plugins/shellintegration/xdg-shell/qwaylandxdgdecorationv1_p.h index d6d8ce94..c3a13ce3 100644 --- a/src/plugins/shellintegration/xdg-shell/qwaylandxdgdecorationv1_p.h +++ b/src/plugins/shellintegration/xdg-shell/qwaylandxdgdecorationv1_p.h @@ -80,6 +80,7 @@ public: void requestMode(mode mode); void unsetMode(); mode pending() const; + bool isConfigured() const; protected: void zxdg_toplevel_decoration_v1_configure(uint32_t mode) override; @@ -88,6 +89,7 @@ private: mode m_pending = mode_client_side; mode m_requested = mode_client_side; bool m_modeSet = false; + bool m_configured = false; }; QT_END_NAMESPACE diff --git a/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp b/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp index e4543dba..ca8da80b 100644 --- a/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp +++ b/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp @@ -112,7 +112,8 @@ void QWaylandXdgSurface::Toplevel::applyConfigure() bool QWaylandXdgSurface::Toplevel::wantsDecorations() { - if (m_decoration && m_decoration->pending() == QWaylandXdgToplevelDecorationV1::mode_server_side) + if (m_decoration && (m_decoration->pending() == QWaylandXdgToplevelDecorationV1::mode_server_side + || !m_decoration->isConfigured())) return false; return !(m_pending.states & Qt::WindowFullScreen); |