[mutter/wip/carlosg/unthrottled-wayland: 54/75] clutter/stage: Free pointer/touch info early during dispose




commit cae0a5c4d07b41cf0372e16f39ecf43722ef46d9
Author: Carlos Garnacho <carlosg gnome org>
Date:   Wed Aug 25 21:59:52 2021 +0200

    clutter/stage: Free pointer/touch info early during dispose
    
    If we wait till finalize, dispose will destroy the actor hierarchy
    and cause untimely repicks. Ensure to free the pointer/touch info
    first, so the hooked signal callbacks are gone when destroying the
    actors.

 clutter/clutter/clutter-stage.c | 3 +++
 1 file changed, 3 insertions(+)
---
diff --git a/clutter/clutter/clutter-stage.c b/clutter/clutter/clutter-stage.c
index 3b39aeca7c..ab171efac9 100644
--- a/clutter/clutter/clutter-stage.c
+++ b/clutter/clutter/clutter-stage.c
@@ -1196,6 +1196,9 @@ clutter_stage_dispose (GObject *object)
   stage_manager = clutter_stage_manager_get_default ();
   _clutter_stage_manager_remove_stage (stage_manager, stage);
 
+  g_hash_table_remove_all (priv->pointer_devices);
+  g_hash_table_remove_all (priv->touch_sequences);
+
   G_OBJECT_CLASS (clutter_stage_parent_class)->dispose (object);
 }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]