wayland: Add transaction skeleton

v2:
* Use single hash table with struct which will contain all kinds of
  state handled by a transaction.
v3:
* Add meta_wayland_transaction_destroy.
v4 (Georges Basile Stavracas Neto)
* Fix struct _MetaWaylandTransaction(Entry) formatting.
* Explicitly test against NULL.
* Use gpointer insteadof void * for
  meta_wayland_transaction_entry_destroy.
v5: (Robert Mader)
* Use for loop in is_ancestor.
* Include meta-wayland-transaction.h first in
  meta-wayland-transaction.c.
v6:
* Use g_autofree & g_clear_object.
v7: (Jonas Ådahl)
* Rename meta_wayland_transaction_entry_destroy to
  meta_wayland_transaction_entry_free.
* Drop g_autofree use from meta_wayland_transaction_entry_free again.
* Make meta_wayland_transaction_entry_free take a
  MetaWaylandTransactionEntry pointer.
* Rename meta_wayland_transaction_destroy to
  meta_wayland_transaction_free.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1880>
This commit is contained in:
Michel Dänzer
2022-06-10 17:23:08 +02:00
committed by Michel Dänzer
parent 6379e54847
commit 207847e8cf
6 changed files with 229 additions and 1 deletions

View File

@ -54,6 +54,8 @@ typedef struct _MetaWaylandRegion MetaWaylandRegion;
typedef struct _MetaWaylandSurface MetaWaylandSurface;
typedef struct _MetaWaylandSurfaceState MetaWaylandSurfaceState;
typedef struct _MetaWaylandTransaction MetaWaylandTransaction;
typedef struct _MetaWaylandOutput MetaWaylandOutput;
typedef struct _MetaWaylandWindowConfiguration MetaWaylandWindowConfiguration;