summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2018-12-05 09:20:49 +0100
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2018-12-05 09:20:49 +0100
commit4165d11adc6eb28e98742d3cd4ebd96865b5a2fe (patch)
tree979c47d94009d45c6403f50d4ec260f07d8cab02 /src
parent4aeb655d161250c317bdb5a6a86e6a6b01ef5685 (diff)
parentf890798053c7fa692bff7f8a3e96583dfcaba0cb (diff)
Merge remote-tracking branch 'origin/5.12.0' into 5.12
Diffstat (limited to 'src')
-rw-r--r--src/compositor/compositor_api/qwaylandview.cpp4
-rw-r--r--src/plugins/shellintegration/wl-shell/qwaylandwlshellintegration.cpp8
-rw-r--r--src/plugins/shellintegration/xdg-shell-v5/qwaylandxdgshellv5integration.cpp8
-rw-r--r--src/plugins/shellintegration/xdg-shell-v6/qwaylandxdgshellv6.cpp1
-rw-r--r--src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp1
5 files changed, 13 insertions, 9 deletions
diff --git a/src/compositor/compositor_api/qwaylandview.cpp b/src/compositor/compositor_api/qwaylandview.cpp
index 127593770..1a6bf1a64 100644
--- a/src/compositor/compositor_api/qwaylandview.cpp
+++ b/src/compositor/compositor_api/qwaylandview.cpp
@@ -56,8 +56,10 @@ void QWaylandViewPrivate::markSurfaceAsDestroyed(QWaylandSurface *surface)
Q_ASSERT(surface == this->surface);
setSurface(nullptr);
+ QPointer<QWaylandView> deleteGuard(q);
emit q->surfaceDestroyed();
- clearFrontBuffer();
+ if (!deleteGuard.isNull())
+ clearFrontBuffer();
}
/*!
diff --git a/src/plugins/shellintegration/wl-shell/qwaylandwlshellintegration.cpp b/src/plugins/shellintegration/wl-shell/qwaylandwlshellintegration.cpp
index 008da3d8a..1edb24b3c 100644
--- a/src/plugins/shellintegration/wl-shell/qwaylandwlshellintegration.cpp
+++ b/src/plugins/shellintegration/wl-shell/qwaylandwlshellintegration.cpp
@@ -49,10 +49,6 @@ namespace QtWaylandClient {
bool QWaylandWlShellIntegration::initialize(QWaylandDisplay *display)
{
- qCWarning(lcQpaWayland) << "\"wl-shell\" is a deprecated shell extension, prefer using"
- << "\"xdg-shell-v6\" or \"xdg-shell\" if supported by the compositor"
- << "by setting the environment variable QT_WAYLAND_SHELL_INTEGRATION";
-
Q_FOREACH (QWaylandDisplay::RegistryGlobal global, display->globals()) {
if (global.interface == QLatin1String("wl_shell")) {
m_wlShell = new QtWayland::wl_shell(display->wl_registry(), global.id, 1);
@@ -65,6 +61,10 @@ bool QWaylandWlShellIntegration::initialize(QWaylandDisplay *display)
return false;
}
+ qCWarning(lcQpaWayland) << "\"wl-shell\" is a deprecated shell extension, prefer using"
+ << "\"xdg-shell-v6\" or \"xdg-shell\" if supported by the compositor"
+ << "by setting the environment variable QT_WAYLAND_SHELL_INTEGRATION";
+
return QWaylandShellIntegration::initialize(display);
}
diff --git a/src/plugins/shellintegration/xdg-shell-v5/qwaylandxdgshellv5integration.cpp b/src/plugins/shellintegration/xdg-shell-v5/qwaylandxdgshellv5integration.cpp
index d032002b1..12cc95b15 100644
--- a/src/plugins/shellintegration/xdg-shell-v5/qwaylandxdgshellv5integration.cpp
+++ b/src/plugins/shellintegration/xdg-shell-v5/qwaylandxdgshellv5integration.cpp
@@ -51,10 +51,6 @@ namespace QtWaylandClient {
bool QWaylandXdgShellV5Integration::initialize(QWaylandDisplay *display)
{
- qCWarning(lcQpaWayland) << "\"xdg-shell-v5\" is a deprecated shell extension, prefer using"
- << "\"xdg-shell-v6\" or \"xdg-shell\" if supported by the compositor"
- << "by setting the environment variable QT_WAYLAND_SHELL_INTEGRATION";
-
Q_FOREACH (QWaylandDisplay::RegistryGlobal global, display->globals()) {
if (global.interface == QLatin1String("xdg_shell")) {
m_xdgShell.reset(new QWaylandXdgShellV5(display->wl_registry(), global.id));
@@ -67,6 +63,10 @@ bool QWaylandXdgShellV5Integration::initialize(QWaylandDisplay *display)
return false;
}
+ qCWarning(lcQpaWayland) << "\"xdg-shell-v5\" is a deprecated shell extension, prefer using"
+ << "\"xdg-shell-v6\" or \"xdg-shell\" if supported by the compositor"
+ << "by setting the environment variable QT_WAYLAND_SHELL_INTEGRATION";
+
return QWaylandShellIntegration::initialize(display);
}
diff --git a/src/plugins/shellintegration/xdg-shell-v6/qwaylandxdgshellv6.cpp b/src/plugins/shellintegration/xdg-shell-v6/qwaylandxdgshellv6.cpp
index fb33b4ab4..9e55e3e16 100644
--- a/src/plugins/shellintegration/xdg-shell-v6/qwaylandxdgshellv6.cpp
+++ b/src/plugins/shellintegration/xdg-shell-v6/qwaylandxdgshellv6.cpp
@@ -348,6 +348,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 6c98dc6ad..1310e340d 100644
--- a/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp
+++ b/src/plugins/shellintegration/xdg-shell/qwaylandxdgshell.cpp
@@ -382,6 +382,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.