From 14f222a77ea665e802acbd9afd1bc59eeee7865a Mon Sep 17 00:00:00 2001 From: Johan Klokkhammer Helsing Date: Mon, 18 Apr 2016 16:00:10 +0200 Subject: 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 Reviewed-by: Erik Larsson --- src/compositor/compositor_api/qwaylandoutput.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/compositor/compositor_api/qwaylandoutput.cpp') 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); } /*! -- cgit v1.2.3