mutter/src
Michel Dänzer e26df6ac14 wayland/surface: Keep transaction entries for all referenced surfaces
This keeps all surfaces referenced by a transaction alive until the
transaction is destroyed, and makes sure transactions are applied in
the same order as they were committed with respect to all surfaces
they reference.

v2:
* Guard against NULL entry in meta_wayland_transaction_apply.
v3:
* Keep single entries hash table.
v4:
* Unref the surface in the meta_wayland_transaction_merge_into while
  loop only if the "to" transaction didn't already have an entry for it,
  to prevent premature finalization of the surface (likely followed by a
  crash).
v5:
* Unref the surface (implicitly via g_hash_table_iter_remove) in the
  meta_wayland_transaction_merge_into while loop even if the "to"
  transaction already had an entry for it, or we leak a reference.
* Use g_clear_object & g_steal_pointer to not leave behind a dangling
  from->state pointer in meta_wayland_transaction_entry_merge_into.
v6:
* Add curly braces around
  meta_wayland_transaction_add_placement_surfaces calls. (Jonas Ådahl)

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1880>
2022-12-01 12:41:32 +01:00
..
backends context: Add 'started' and 'prepare-shutdown' signals 2022-11-25 10:26:52 +00:00
compositor plugin-manager: Don't try to starte effect when shutting down 2022-11-25 10:26:52 +00:00
core context: Add 'started' and 'prepare-shutdown' signals 2022-11-25 10:26:52 +00:00
meta barrier: Make type derivable again 2022-09-15 12:27:52 +00:00
tests tests/clutter/conform: Add a test for event delivery 2022-11-22 20:31:42 +00:00
ui frames: Add basic color-scheme support 2022-07-29 13:19:23 +00:00
wayland wayland/surface: Keep transaction entries for all referenced surfaces 2022-12-01 12:41:32 +01:00
x11 x11-display: Use autoptr during construction 2022-11-24 12:25:29 +00:00
libmutter.pc.in build: Fix libs and cflags in autotools .pc file 2018-11-10 16:20:46 +00:00
meson.build wayland: Add transaction skeleton 2022-12-01 12:41:32 +01:00
meta-private-enum-types.c.in build: Add missing include 2022-08-10 20:28:40 +02:00
meta-private-enum-types.h.in screen-cast: Add screen cast flag to streams 2020-07-30 09:51:16 +02:00