mirror of
https://github.com/brl/mutter.git
synced 2025-02-28 02:34:09 +00:00

The idea of having a paint node tree is that we don't really need to retrieve the framebuffer from ClutterPaintContext. For example, ClutterLayerNode draws into an offscreen framebuffer; if any child of a layer node needs to retrieve a framebuffer to draw, the layer node's offscreen framebuffer should be used. However, clutter_paint_node_get_framebuffer() goes straight to the root node of the tree, skipping any potential paint nodes with a custom framebuffer. Modify clutter_paint_node_get_framebuffer() to walk up the paint node tree until a node with a custom framebuffer appears. In many cases, this will end up either in dummy or layer node's custom framebuffer implementations. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1340>