mutter/src/wayland
Carlos Garnacho ed516dde89 wayland: Add destruction listener to activation token surface
In the timespan between an activation token being created and the
token being used by the activated application, the surface that started
the activation request may end up destroyed/disposed.

In that case, the token would be left with a stale surface pointer,
maybe causing crashes later on. Set up a destroy notification listener
so that we do know to unset the token surface if that situation arises,
this will result in Mutter not considering the token activatable, thus
maybe issuing the "Application needs attention" notification if the
activated surface did not immediately get focus. In any case this is
better than a compositor crash.

A typical situation where this may happen is "Open With..." dialogs,
since those don't live long after launching the application.

Fixes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2390
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2592>
2022-08-23 22:56:42 +02:00
..
protocol wayland: Remove Gtk primary selection protocol 2022-05-18 20:15:08 +00:00
meta-cursor-sprite-wayland.c cursor-sprite: Register all cursor sprites with the cursor tracker 2021-12-22 16:22:08 +00:00
meta-cursor-sprite-wayland.h cursor-sprite: Register all cursor sprites with the cursor tracker 2021-12-22 16:22:08 +00:00
meta-pointer-confinement-wayland.c wayland/pointer-confinement: Scale region with the geometry scale 2022-06-13 18:38:51 +00:00
meta-pointer-confinement-wayland.h backends: Delegate pointer confinements to an impl object 2020-11-27 15:14:33 +00:00
meta-pointer-lock-wayland.c pointer-constraints: Move min edge distance from backend to Wayland 2022-06-13 18:38:50 +00:00
meta-pointer-lock-wayland.h backends: Delegate pointer confinements to an impl object 2020-11-27 15:14:33 +00:00
meta-selection-source-wayland-private.h wayland: Move MetaWaylandDataSourcePrimary to its own file 2020-04-17 00:46:23 +02:00
meta-selection-source-wayland.c wayland: Simplify MetaSelectionSourceWayland 2019-10-11 23:04:01 +02:00
meta-wayland-activation.c wayland: Add destruction listener to activation token surface 2022-08-23 22:56:42 +02:00
meta-wayland-activation.h wayland: Clean up xdg-activation state 2022-07-25 14:55:59 +00:00
meta-wayland-actor-surface.c wayland/actor-surface: Consider clones in is_on_logical_monitor() 2022-07-11 18:18:56 +00:00
meta-wayland-actor-surface.h wayland/surface-role: Make geometry scale API return int 2022-06-13 18:38:50 +00:00
meta-wayland-buffer.c wayland: Ensure to remove destroy listener for MetaWaylandBuffer 2022-08-23 17:06:07 +00:00
meta-wayland-buffer.h wayland: Add single pixel buffer support 2022-08-02 12:19:42 +00:00
meta-wayland-client.c wayland/client: Restore the NOFILE limit 2022-02-07 16:11:47 +01:00
meta-wayland-cursor-surface.c wayland/cursor-surface: Pass buffer-transform to cursor sprite 2022-08-05 20:30:50 +02:00
meta-wayland-cursor-surface.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-wayland-data-device-primary.c wayland: Cancel selection data sources that are set while unfocused 2021-03-23 17:07:31 +00:00
meta-wayland-data-device-primary.h wayland: Add support for wayland-protocols primary selection protocol 2020-05-13 18:27:46 +02:00
meta-wayland-data-device.c wayland: Ensure to unlink destroy listeners after destruction 2022-08-23 17:06:07 +00:00
meta-wayland-data-device.h dnd: Notify about events during compositor grab from event filter 2022-03-02 15:12:23 +00:00
meta-wayland-data-offer-primary.c src: Stop using GSlice 2021-02-22 13:52:27 +01:00
meta-wayland-data-offer-primary.h wayland: Add support for wayland-protocols primary selection protocol 2020-05-13 18:27:46 +02:00
meta-wayland-data-offer.c wayland/data-offer: Fix indentation in data_offer_finish() 2021-10-14 21:08:42 +00:00
meta-wayland-data-offer.h wayland: Move primary data offers to their own file 2020-04-17 00:46:23 +02:00
meta-wayland-data-source-primary.c wayland: Add support for wayland-protocols primary selection protocol 2020-05-13 18:27:46 +02:00
meta-wayland-data-source-primary.h wayland: Add support for wayland-protocols primary selection protocol 2020-05-13 18:27:46 +02:00
meta-wayland-data-source.c wayland: Split MetaWaylandDataSource into a separate file 2020-04-17 00:46:21 +02:00
meta-wayland-data-source.h wayland: Split MetaWaylandDataSource into a separate file 2020-04-17 00:46:21 +02:00
meta-wayland-dma-buf.c wayland/dma-buf: Only try to query KMS device on native backend 2022-08-04 09:38:47 +02:00
meta-wayland-dma-buf.h wayland/dma-buf: Make manager object a GObject 2022-01-05 16:36:48 +00:00
meta-wayland-dnd-surface.c wayland/surface-role: Make geometry scale API return int 2022-06-13 18:38:50 +00:00
meta-wayland-dnd-surface.h wayland: Move DND surface role into its own file 2019-01-22 18:32:28 +01:00
meta-wayland-egl-stream.c wayland/buffer: Only query Wayland EGL buffer if display bound 2022-05-17 10:09:27 +00:00
meta-wayland-egl-stream.h wayland/egl-stream: Cache texture snippet 2020-01-10 16:01:21 +00:00
meta-wayland-gtk-shell.c wayland/gtk: Only perform allowed titlebar gestures 2022-02-10 20:00:15 +01:00
meta-wayland-gtk-shell.h wayland: Add MetaWaylandGtkShell object 2018-11-27 15:34:13 +01:00
meta-wayland-inhibit-shortcuts-dialog.c cleanup: Use g_clear_signal_handler() where possible 2019-11-21 15:02:27 +00:00
meta-wayland-inhibit-shortcuts-dialog.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-wayland-inhibit-shortcuts.c cleanup: Use g_clear_signal_handler() where possible 2019-11-21 15:02:27 +00:00
meta-wayland-inhibit-shortcuts.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-wayland-input-device.c wayland/input-device: Add next serial helper 2016-10-11 22:51:50 +08:00
meta-wayland-input-device.h wayland/input-device: Add next serial helper 2016-10-11 22:51:50 +08:00
meta-wayland-keyboard.c wayland/keyboard: Remove unnused define 2022-02-22 11:05:36 +01:00
meta-wayland-keyboard.h wayland: Check keyboard serials for activation 2021-12-13 14:49:14 +00:00
meta-wayland-outputs.c wayland/outputs: Report actual monitor transform 2022-08-05 20:30:50 +02:00
meta-wayland-outputs.h wayland: Clean up output state 2022-07-25 14:55:59 +00:00
meta-wayland-pointer-constraints.c wayland: Ensure pointer constraint region consistency 2021-01-12 12:32:24 +01:00
meta-wayland-pointer-constraints.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-wayland-pointer-gesture-hold.c wayland/pointer-gestures: Implement hold gesture 2021-12-02 20:48:24 +00:00
meta-wayland-pointer-gesture-hold.h wayland/pointer-gestures: Implement hold gesture 2021-12-02 20:48:24 +00:00
meta-wayland-pointer-gesture-pinch.c Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-wayland-pointer-gesture-pinch.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-wayland-pointer-gesture-swipe.c wayland/pointer-gestures: Fix swipe cancellation 2021-06-15 22:22:30 +00:00
meta-wayland-pointer-gesture-swipe.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-wayland-pointer-gestures.c wayland/pointer-gestures: Implement hold gesture 2021-12-02 20:48:24 +00:00
meta-wayland-pointer-gestures.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-wayland-pointer.c wayland/pointer: Send high-resolution scroll data 2022-07-14 22:29:56 +00:00
meta-wayland-pointer.h wayland: Make the pointer leave non-alive surfaces 2021-12-07 17:15:21 +00:00
meta-wayland-popup.c wayland: Make implicit grabs during popups be owner_events=TRUE 2021-06-09 19:00:15 +00:00
meta-wayland-popup.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-wayland-presentation-time-private.h wayland: Clean up presentation-time state 2022-07-25 14:55:59 +00:00
meta-wayland-presentation-time.c wayland: Clean up presentation-time state 2022-07-25 14:55:59 +00:00
meta-wayland-private.h xwayland: Only warn on X IO errors when X11 is mandatory 2022-05-31 12:00:55 +00:00
meta-wayland-region.c src: Stop using GSlice 2021-02-22 13:52:27 +01:00
meta-wayland-region.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-wayland-seat.c wayland: Remove Gtk primary selection protocol 2022-05-18 20:15:08 +00:00
meta-wayland-seat.h wayland: Remove Gtk primary selection protocol 2022-05-18 20:15:08 +00:00
meta-wayland-shell-surface.c wayland/surface-role: Make geometry scale API return int 2022-06-13 18:38:50 +00:00
meta-wayland-shell-surface.h wayland: Rework asynchronous window configuration 2019-12-09 10:09:40 +01:00
meta-wayland-single-pixel-buffer.c wayland: Add single pixel buffer support 2022-08-02 12:19:42 +00:00
meta-wayland-single-pixel-buffer.h wayland: Add single pixel buffer support 2022-08-02 12:19:42 +00:00
meta-wayland-subsurface.c wayland: Ensure to unlink destroy listeners for subsurfaces 2022-08-23 17:06:07 +00:00
meta-wayland-subsurface.h wayland/subsurface: Avoid placement ops for detached subsurfaces 2021-04-19 11:55:49 +00:00
meta-wayland-surface.c wayland: Add single pixel buffer support 2022-08-02 12:19:42 +00:00
meta-wayland-surface.h wayland/surface: Remove leftover function declarations 2022-07-01 16:05:33 +00:00
meta-wayland-tablet-cursor-surface.c Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-wayland-tablet-cursor-surface.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-wayland-tablet-manager.c wayland: Clean up tablet manager state 2022-07-25 14:55:59 +00:00
meta-wayland-tablet-manager.h wayland: Clean up tablet manager state 2022-07-25 14:55:59 +00:00
meta-wayland-tablet-pad-group.c src: Stop using GSlice 2021-02-22 13:52:27 +01:00
meta-wayland-tablet-pad-group.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-wayland-tablet-pad-ring.c src: Stop using GSlice 2021-02-22 13:52:27 +01:00
meta-wayland-tablet-pad-ring.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-wayland-tablet-pad-strip.c src: Stop using GSlice 2021-02-22 13:52:27 +01:00
meta-wayland-tablet-pad-strip.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-wayland-tablet-pad.c wayland/tablet-pad: Fix fallthrough warning 2022-03-04 23:12:24 +00:00
meta-wayland-tablet-pad.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-wayland-tablet-seat.c wayland: Fix thinko in paired tablet loop filter 2022-08-13 00:39:54 +02:00
meta-wayland-tablet-seat.h wayland: Replace ClutterDeviceManager usage in favor of ClutterSeat 2020-01-30 18:02:34 +01:00
meta-wayland-tablet-tool.c wayland: Remove unnecessary COMPOSITOR_GRAB checks 2022-05-28 10:25:29 +00:00
meta-wayland-tablet-tool.h backends: Replace MetaCursorSprite::prepare-at with in-place function 2021-12-07 20:04:08 +00:00
meta-wayland-tablet.c src: Stop using GSlice 2021-02-22 13:52:27 +01:00
meta-wayland-tablet.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-wayland-text-input.c clutter: Pass anchor position to ClutterInputFocus 2022-07-19 11:04:56 +00:00
meta-wayland-text-input.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-wayland-touch.c wayland: Move away from clutter_event_get_source() 2022-03-04 10:58:28 +00:00
meta-wayland-touch.h wayland: Simplify wl_touch.frame handling 2020-10-23 18:48:18 +00:00
meta-wayland-types.h wayland: Add getter for XWayland manager object 2022-05-31 12:00:54 +00:00
meta-wayland-versions.h wayland: Add single pixel buffer support 2022-08-02 12:19:42 +00:00
meta-wayland-viewporter.c wayland/surface: Rename MetaWaylandPendingState to MetaWaylandSurfaceState 2019-12-09 10:09:40 +01:00
meta-wayland-viewporter.h wayland/surface: Add support for wp_viewporter 2019-02-06 12:24:03 +00:00
meta-wayland-window-configuration.c window/wayland: Always include a size when sending a configuration 2022-03-05 13:18:58 +00:00
meta-wayland-window-configuration.h window/wayland: Always include a size when sending a configuration 2022-03-05 13:18:58 +00:00
meta-wayland-xdg-foreign.c wayland: Drop xdg-shell v6 protocol 2022-05-18 19:29:08 +00:00
meta-wayland-xdg-foreign.h wayland: Add support for the xdg-foreign protocol 2016-08-22 21:03:41 +08:00
meta-wayland-xdg-shell.c wayland/xdg-shell: Add toplevel bounds support 2022-03-04 14:48:25 +00:00
meta-wayland-xdg-shell.h wayland: Add support for stable xdg-shell 2018-02-23 18:57:53 +08:00
meta-wayland.c wayland: Add single pixel buffer support 2022-08-02 12:19:42 +00:00
meta-wayland.h wayland/compositor: Add MetaContext getter 2022-08-02 10:04:52 +00:00
meta-window-wayland.c window/wayland: Always update the monitor when updating 2022-08-11 11:32:42 +00:00
meta-window-wayland.h window/wayland: Always include a size when sending a configuration 2022-03-05 13:18:58 +00:00
meta-window-xwayland.c backends: Shuffle ClutterBackendX11 code into MetaClutterBackendX11 2021-07-16 19:08:06 +02:00
meta-window-xwayland.h xwayland: Add MetaWindowXwayland 2017-12-18 13:15:09 +01:00
meta-xwayland-dnd-private.h wayland: Reduce MetaXWaylandSelection to just DnD 2019-05-02 16:31:45 +02:00
meta-xwayland-dnd.c wayland/xdnd: Use multiple DnD X11 peers 2022-02-25 11:35:35 +01:00
meta-xwayland-grab-keyboard.c xwayland-grab-keyboard: Switch to g_pattern_spec_match_string() 2021-08-12 13:11:31 +00:00
meta-xwayland-grab-keyboard.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-xwayland-private.h xwayland: Init/shutdown DND using MetaX11Display 2021-10-26 16:55:12 +02:00
meta-xwayland-surface.c wayland/surface-role: Make geometry scale API return int 2022-06-13 18:38:50 +00:00
meta-xwayland-surface.h xwayland: Move out surface role related logic 2020-02-19 22:34:28 +00:00
meta-xwayland.c xwayland: Remove stray newline 2022-05-31 12:00:55 +00:00
meta-xwayland.h xwayland: Add API to send signal to the Xwayland process 2022-05-31 12:00:55 +00:00