[PATCH weston] compositor: Don't use surface_list when out of scope.
Scott Moreau
oreaus at gmail.com
Sun Oct 7 07:56:29 PDT 2012
The surface_list can only be used when called in a path originating from
weston_output_repaint(). Additionally, the calls omitted by this patch were
redundant since they were called in paths ultimately leading to a repaint call,
which calls weston_compositor_repick(), which in turn calls weston_device_repick(),
which ultimately accesses the surface_list. This fixes a crash when having multiple
surfaces opened and hovering over the launcher tooltips.
---
src/compositor.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/src/compositor.c b/src/compositor.c
index e1517bb..c42c8c6 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -1476,7 +1476,6 @@ notify_motion(struct weston_seat *seat, uint32_t time, wl_fixed_t x, wl_fixed_t
ix, iy, NULL))
weston_output_update_zoom(output, ZOOM_FOCUS_POINTER);
- weston_device_repick(seat);
interface = pointer->grab->interface;
interface->motion(pointer->grab, time,
pointer->grab->x, pointer->grab->y);
@@ -1721,7 +1720,6 @@ notify_pointer_focus(struct weston_seat *seat, struct weston_output *output,
pointer->x = x;
pointer->y = y;
compositor->focus = 1;
- weston_compositor_repick(compositor);
} else {
compositor->focus = 0;
/* FIXME: We should call wl_pointer_set_focus(seat,
--
1.7.11.4
More information about the wayland-devel
mailing list