summaryrefslogtreecommitdiffstats
path: root/src/compositor/compositor_api/qwaylandoutput.cpp
diff options
context:
space:
mode:
authorJohan Klokkhammer Helsing <johan.helsing@qt.io>2016-04-18 16:00:10 +0200
committerJohan Helsing <johan.helsing@qt.io>2016-04-18 14:43:15 +0000
commit14f222a77ea665e802acbd9afd1bc59eeee7865a (patch)
treebfd70c0fff100f627f9f87a8f71ecdf8b69f9a1e /src/compositor/compositor_api/qwaylandoutput.cpp
parentfb8c3ac47bcf6a192930c0758195d836017ead78 (diff)
Don't send wl_output::enter if the client didn't bind to wl_output
If a client didn't bind to the wl_output global, QWaylandOutput::surfaceEnter would try to send an enter event with null as the client resource, resulting in a crash. Change-Id: Ibdfa27161e6e1deb81a94ebd1b6ddf11b5da8b7b Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com> Reviewed-by: Erik Larsson <erik@ortogonal.com>
Diffstat (limited to 'src/compositor/compositor_api/qwaylandoutput.cpp')
-rw-r--r--src/compositor/compositor_api/qwaylandoutput.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/compositor/compositor_api/qwaylandoutput.cpp b/src/compositor/compositor_api/qwaylandoutput.cpp
index c8c5878bf..d97ea04ef 100644
--- a/src/compositor/compositor_api/qwaylandoutput.cpp
+++ b/src/compositor/compositor_api/qwaylandoutput.cpp
@@ -859,7 +859,10 @@ void QWaylandOutput::surfaceEnter(QWaylandSurface *surface)
{
if (!surface)
return;
- QWaylandSurfacePrivate::get(surface)->send_enter(resourceForClient(surface->client()));
+
+ auto clientResource = resourceForClient(surface->client());
+ if (clientResource)
+ QWaylandSurfacePrivate::get(surface)->send_enter(clientResource);
}
/*!