meta-weston-launch: Redraw and update the cursor when switching back

This commit is contained in:
Jasper St. Pierre 2014-03-11 17:22:08 -04:00
parent 394af33607
commit f21312e2fd
3 changed files with 23 additions and 0 deletions

View File

@ -43,4 +43,7 @@ void meta_cursor_tracker_update_position (MetaCursorTracker *tracker,
int new_x, int new_x,
int new_y); int new_y);
void meta_cursor_tracker_paint (MetaCursorTracker *tracker); void meta_cursor_tracker_paint (MetaCursorTracker *tracker);
void meta_cursor_tracker_force_update (MetaCursorTracker *tracker);
#endif #endif

View File

@ -1147,3 +1147,12 @@ meta_cursor_tracker_set_pointer_visible (MetaCursorTracker *tracker,
tracker->screen->xroot); tracker->screen->xroot);
} }
} }
void
meta_cursor_tracker_force_update (MetaCursorTracker *tracker)
{
g_assert (meta_is_wayland_compositor ());
update_hw_cursor (tracker);
sync_cursor (tracker);
}

View File

@ -232,6 +232,17 @@ meta_launcher_enter (MetaLauncher *launcher)
cogl_kms_display_queue_modes_reset (cogl_display); cogl_kms_display_queue_modes_reset (cogl_display);
clutter_evdev_reclaim_devices (); clutter_evdev_reclaim_devices ();
{
MetaWaylandCompositor *compositor = meta_wayland_compositor_get_default ();
/* When we mode-switch back, we need to immediately queue a redraw
* in case nothing else queued one for us, and force the cursor to
* update. */
clutter_actor_queue_redraw (compositor->stage);
meta_cursor_tracker_force_update (compositor->seat->cursor_tracker);
}
} }
static void static void