906124b09f
We currently pass actors a reference to their associated ClutterStageQueueRedrawEntry when queueing a redraw. This "splitting" of the ownership of the entry has introduced quite a few bugs in the past and is hard to follow. So give up the "splitting" of the ownership and exclusively handle those entries inside ClutterStage. To still allow removing the entry when an actor gets unrealized introduce clutter_stage_dequeue_actor_redraw() similar to what we already have for relayouts. To be able to efficiently find entries when actors queue redraws, make pending_queue_redraws a GHashTable, which fits quite nicely and also allows removing the QueueRedrawEntries actor pointer in favour of the key of the hashtable. Since the struct is now private to ClutterStage, we can also rename it to QueueRedrawEntry. While at it, also sneak in the removal of the leading underscore from clutter_stage_queue_actor_redraw(). Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1511> |
||
---|---|---|
.. | ||
clutter | ||
.gitignore | ||
meson.build |