compositor-drm: Set cursor surface to NULL when pageflip fails

If we VT switch away between  picking a cursor surface and actually doing
the pageflip in drm_output_repaint(), we never set output->cursor_view to
NULL.  Then we unplug all the input devices and as the last pointer device
goes away we destroy the cursor surface.  Then when we switch back, we
call drm_output_set_cursor() with an invalid surface and crashes.

Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=73566
dev
Kristian Høgsberg 11 years ago
parent d500bf1ac9
commit b3955b0953
  1. 1
      src/compositor-drm.c

@ -669,6 +669,7 @@ drm_output_repaint(struct weston_output *output_base,
return 0;
err_pageflip:
output->cursor_view = NULL;
if (output->next) {
drm_output_release_fb(output, output->next);
output->next = NULL;

Loading…
Cancel
Save