Skip to content

wayland: set current tool surface to NULL on prox-out

Peter Hutterer requested to merge whot/mutter:wip/surface-null-on-prox-out into main

If an application is maximised, clutter_stage_pick_and_update_device() goes into the

        if clutter_stage_pick_and_update_device()

condition and returns the current actor for the device. This means no CLUTTER_LEAVE/ENTER events are generated and in turn means the focus is never invalidated and updated.

This leads to tool->focus_surface always being NULL and all events are discarded.

Notably, tool->current is set to the right surface but that one never changes either so meta_wayland_tablet_tool_set_current_surface() exits early too because surface == tool->current and we thus never call meta_wayland_input_invalidate_focus().

Closes #3616 (closed)

cc @carlosg - I'm really not sure about this one being correct but it seems to work 😄

Edited by Peter Hutterer

Merge request reports