summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2019-05-26 22:27:55 +0200
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2019-05-26 22:27:55 +0200
commit7107f7501df329cf785cec1585767e5d7cbab6c2 (patch)
tree3a77de29b8a68621a2523e31f2c4c5c2d26fcb34
parent03ac8d67fb6a94ae9c28325e306fd4291fde8bb6 (diff)
parenta6c896e6cdbd7c6c68a64969c5b38b9cb44c8592 (diff)
Merge "Merge remote-tracking branch 'origin/5.13' into dev"
-rw-r--r--src/plugins/shellintegration/xdg-shell/qwaylandxdgdecorationv1.cpp6
-rw-r--r--src/plugins/shellintegration/xdg-shell/qwaylandxdgdecorationv1_p.h2
-rw-r--r--src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp3
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 345ff32ad..c6e1afabc 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 d6d8ce94e..c3a13ce32 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 e4543dba0..ca8da80b7 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);