[mutter/wip/carlosg/ignore-device-events: 1/4] clutter: Do not use stack-allocated ClutterEvents




commit f121ce158d26cfec2e7b2c571ff43b49c277efed
Author: Carlos Garnacho <carlosg gnome org>
Date:   Thu Sep 24 17:21:18 2020 +0200

    clutter: Do not use stack-allocated ClutterEvents
    
    Use ClutterEvent* and clutter_event_new() to always allocate events.
    
    https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1460

 clutter/clutter/clutter-stage.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)
---
diff --git a/clutter/clutter/clutter-stage.c b/clutter/clutter/clutter-stage.c
index 14e04e1a5c..e6584ab6fe 100644
--- a/clutter/clutter/clutter-stage.c
+++ b/clutter/clutter/clutter-stage.c
@@ -3471,7 +3471,7 @@ _clutter_stage_update_state (ClutterStage      *stage,
                              ClutterStageState  set_flags)
 {
   ClutterStageState new_state;
-  ClutterEvent event;
+  ClutterEvent *event;
 
   new_state = stage->priv->current_state;
   new_state |= set_flags;
@@ -3480,16 +3480,16 @@ _clutter_stage_update_state (ClutterStage      *stage,
   if (new_state == stage->priv->current_state)
     return FALSE;
 
-  memset (&event, 0, sizeof (event));
-  event.type = CLUTTER_STAGE_STATE;
-  clutter_event_set_stage (&event, stage);
+  event = clutter_event_new (CLUTTER_STAGE_STATE);
+  clutter_event_set_stage (event, stage);
 
-  event.stage_state.new_state = new_state;
-  event.stage_state.changed_mask = new_state ^ stage->priv->current_state;
+  event->stage_state.new_state = new_state;
+  event->stage_state.changed_mask = new_state ^ stage->priv->current_state;
 
   stage->priv->current_state = new_state;
 
-  clutter_stage_event (stage, &event);
+  clutter_stage_event (stage, event);
+  clutter_event_free (event);
 
   return TRUE;
 }


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