e26df6ac14
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> |
||
---|---|---|
.. | ||
backends | ||
compositor | ||
core | ||
meta | ||
tests | ||
ui | ||
wayland | ||
x11 | ||
libmutter.pc.in | ||
meson.build | ||
meta-private-enum-types.c.in | ||
meta-private-enum-types.h.in |