1
0
Fork 0

compositor: Mark window drag actor invisible

If the window_drag->handle ClutterActor:visible property is FALSE,
then we avoid a full-framebuffer damage on the monitor when beginning
and ending a drag.

Testing with `mutter --wayland --display-server` still shows a full-
framebuffer damage on the first drag, but that appears to be unrelated
to this. Subsequent full-framebuffer damage which would occur on
drag-begin and drag-end have been elided.

Related: #3630
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3975>
(cherry picked from commit 030270ba3b)
This commit is contained in:
Christian Hergert 2024-08-21 23:03:07 -07:00 committed by Jonas Ådahl
parent abd2c95864
commit ba06ba24ac

View file

@ -1838,6 +1838,7 @@ meta_window_drag_begin (MetaWindowDrag *window_drag,
stage = meta_backend_get_stage (backend);
window_drag->handler = clutter_actor_new ();
clutter_actor_hide (window_drag->handler);
clutter_actor_set_name (window_drag->handler,
"Window drag helper");
g_signal_connect_swapped (window_drag->handler, "event",