mutter/src/wayland
Jonas Ådahl 2731f0cda4 wayland: Setup and use ownership chains
As elsewhere, make sure objects that need to have a ownership up to the
context, and use this ownership chain to find relevant components, such
as the backend or the Wayland compositor object instance.

wayland/data-device: Hook up data devices to seats

They are tied to a seat - make that connection in struct fields too, so
that related objects can get to the context via it.

wayland: Don't get Wayland compositor via singleton getter

This means via the ownership chain or equivalent.

xwayland: Hook up manager to Wayland compositor

Same applies to the drag-n-drop struct.

xwayland: Make X11 event handling compositor instance aware

This avoids finding it via singletons in the callee.

xwayland: Don't get Wayland compositor from singleton

xwayland: Pass manager when handling dnd event

window/xwayland: Don't get Wayland compositor from singleton

xwayland/grab-keyboard: Don't get backend from singleton

xwayland: Don't get backend from singleton

wayland: Always get the backend from the context

This means traveling up the ownership chain or equivalent when
necessary.

wayland: Hook up data devices, offers and sources to the compositor

This allows tying them to a context without going through any
singletons.

wayland: Don't get display from singleton

xwayland: Don't get display from singleton

tablet: Don't get display from singleton

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2718>
2022-12-17 15:13:48 +01: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: Setup and use ownership chains 2022-12-17 15:13:48 +01: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 wayland: Setup and use ownership chains 2022-12-17 15:13:48 +01: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 core: Setup and use ownership chains 2022-12-17 15:13:48 +01: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: Setup and use ownership chains 2022-12-17 15:13:48 +01: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: Setup and use ownership chains 2022-12-17 15:13:48 +01:00
meta-wayland-buffer.h wayland/surface: Overhaul handling of buffer use count 2022-12-01 17:23:34 +01:00
meta-wayland-client.c wayland: Setup and use ownership chains 2022-12-17 15:13:48 +01:00
meta-wayland-cursor-surface.c wayland: Setup and use ownership chains 2022-12-17 15:13:48 +01: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: Setup and use ownership chains 2022-12-17 15:13:48 +01:00
meta-wayland-data-device-primary.h wayland: Setup and use ownership chains 2022-12-17 15:13:48 +01:00
meta-wayland-data-device.c wayland: Setup and use ownership chains 2022-12-17 15:13:48 +01:00
meta-wayland-data-device.h wayland: Setup and use ownership chains 2022-12-17 15:13:48 +01:00
meta-wayland-data-offer-primary.c wayland: Setup and use ownership chains 2022-12-17 15:13:48 +01:00
meta-wayland-data-offer-primary.h wayland: Setup and use ownership chains 2022-12-17 15:13:48 +01:00
meta-wayland-data-offer.c wayland: Setup and use ownership chains 2022-12-17 15:13:48 +01:00
meta-wayland-data-offer.h wayland: Setup and use ownership chains 2022-12-17 15:13:48 +01: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: Setup and use ownership chains 2022-12-17 15:13:48 +01:00
meta-wayland-data-source.h wayland: Setup and use ownership chains 2022-12-17 15:13:48 +01:00
meta-wayland-dma-buf.c wayland: Setup and use ownership chains 2022-12-17 15:13:48 +01:00
meta-wayland-dma-buf.h wayland/dma-buf: Add meta_wayland_dma_buf_create_source 2022-12-01 09:40:38 +01:00
meta-wayland-dnd-surface.c wayland: Setup and use ownership chains 2022-12-17 15:13:48 +01: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: Setup and use ownership chains 2022-12-17 15:13:48 +01: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: Setup and use ownership chains 2022-12-17 15:13:48 +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
meta-wayland-input-device.h
meta-wayland-keyboard.c wayland: Setup and use ownership chains 2022-12-17 15:13:48 +01:00
meta-wayland-keyboard.h Revert "wayland-keyboard: Don't send pressed keys on enter" 2022-10-19 15:19:34 +00:00
meta-wayland-outputs.c wayland: Setup and use ownership chains 2022-12-17 15:13:48 +01:00
meta-wayland-outputs.h wayland: Clean up output state 2022-07-25 14:55:59 +00:00
meta-wayland-pointer-constraints.c wayland: Setup and use ownership chains 2022-12-17 15:13:48 +01:00
meta-wayland-pointer-constraints.h wayland: Setup and use ownership chains 2022-12-17 15:13:48 +01:00
meta-wayland-pointer-gesture-hold.c wayland/pointer-gestures: Fix crash in get_*_gesture after pointer is destroyed 2022-11-25 15:40:12 +00:00
meta-wayland-pointer-gesture-hold.h wayland: Add pointer gesture cancellation internal API 2022-09-29 12:36:43 +00:00
meta-wayland-pointer-gesture-pinch.c wayland/pointer-gestures: Fix crash in get_*_gesture after pointer is destroyed 2022-11-25 15:40:12 +00:00
meta-wayland-pointer-gesture-pinch.h wayland: Add pointer gesture cancellation internal API 2022-09-29 12:36:43 +00:00
meta-wayland-pointer-gesture-swipe.c wayland/pointer-gestures: Fix crash in get_*_gesture after pointer is destroyed 2022-11-25 15:40:12 +00:00
meta-wayland-pointer-gesture-swipe.h wayland: Add pointer gesture cancellation internal API 2022-09-29 12:36:43 +00: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: Setup and use ownership chains 2022-12-17 15:13:48 +01:00
meta-wayland-pointer.h wayland: Keep track of active pointer gestures 2022-09-29 12:36:43 +00:00
meta-wayland-popup.c wayland: Setup and use ownership chains 2022-12-17 15:13:48 +01: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 surface-actor-wayland: Clean up and optimize check for primary view 2022-12-16 16:27:33 +00:00
meta-wayland-private.h wayland/surface: Make sure transactions are applied in consistent order 2022-12-01 12:41:32 +01: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: Setup and use ownership chains 2022-12-17 15:13:48 +01:00
meta-wayland-seat.h wayland: Setup and use ownership chains 2022-12-17 15:13:48 +01:00
meta-wayland-shell-surface.c backend: Get 'is-stage-views-scaled' from backend 2022-12-17 13:52:51 +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: Setup and use ownership chains 2022-12-17 15:13:48 +01: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/subsurface: Check ancestor instead of toplevel window for actor sync 2022-12-09 20:48:55 +00:00
meta-wayland-subsurface.h wayland/surface: Use transactions for all sub-surface hierarchy changes 2022-12-01 12:41:32 +01:00
meta-wayland-surface.c wayland: Setup and use ownership chains 2022-12-17 15:13:48 +01:00
meta-wayland-surface.h wayland/surface: Overhaul handling of buffer use count 2022-12-01 17:23:34 +01: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: Setup and use ownership chains 2022-12-17 15:13:48 +01: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: Setup and use ownership chains 2022-12-17 15:13:48 +01: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 wayland/surface: Prepare for decoupled surface & resource lifetimes 2022-12-01 12:41:32 +01:00
meta-wayland-text-input.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-wayland-touch.c wayland/surface: Prepare for decoupled surface & resource lifetimes 2022-12-01 12:41:32 +01:00
meta-wayland-touch.h wayland: Simplify wl_touch.frame handling 2020-10-23 18:48:18 +00:00
meta-wayland-transaction.c wayland/surface: Overhaul handling of buffer use count 2022-12-01 17:23:34 +01:00
meta-wayland-transaction.h wayland/xdg-shell: Defer meta_wayland_xdg_positioner_to_placement call 2022-12-01 12:41:32 +01:00
meta-wayland-types.h wayland/xdg-shell: Defer meta_wayland_xdg_positioner_to_placement call 2022-12-01 12:41:32 +01:00
meta-wayland-versions.h wayland/outputs: Implement wl_output v4 2022-11-10 13:45:05 +01:00
meta-wayland-viewporter.c wayland/surface: Prepare for decoupled surface & resource lifetimes 2022-12-01 12:41:32 +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: Calculate position also for acked fullscreen configs 2022-10-10 18:16:51 +00:00
meta-wayland-window-configuration.h window/wayland: Calculate position also for acked fullscreen configs 2022-10-10 18:16:51 +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
meta-wayland-xdg-shell.c wayland: Setup and use ownership chains 2022-12-17 15:13:48 +01: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: Setup and use ownership chains 2022-12-17 15:13:48 +01:00
meta-wayland.h wayland: Setup and use ownership chains 2022-12-17 15:13:48 +01:00
meta-window-wayland.c wayland: Setup and use ownership chains 2022-12-17 15:13:48 +01:00
meta-window-wayland.h tests/wayland-fullscreen: Also test toggling fullscreen 2022-10-10 18:16:51 +00:00
meta-window-xwayland.c wayland: Setup and use ownership chains 2022-12-17 15:13:48 +01:00
meta-window-xwayland.h window: Move surface property to it subclasses 2022-11-17 11:30:56 +00: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: Setup and use ownership chains 2022-12-17 15:13:48 +01:00
meta-xwayland-grab-keyboard.c wayland: Setup and use ownership chains 2022-12-17 15:13:48 +01:00
meta-xwayland-grab-keyboard.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-xwayland-private.h wayland: Setup and use ownership chains 2022-12-17 15:13:48 +01:00
meta-xwayland-surface.c wayland/surface: Overhaul handling of buffer use count 2022-12-01 17:23:34 +01:00
meta-xwayland-surface.h xwayland: Move out surface role related logic 2020-02-19 22:34:28 +00:00
meta-xwayland.c wayland: Setup and use ownership chains 2022-12-17 15:13:48 +01:00
meta-xwayland.h xwayland: Add API to send signal to the Xwayland process 2022-05-31 12:00:55 +00:00