diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2020-09-24 17:21:18 +0200 |
---|---|---|
committer | Jonas Ã…dahl <jadahl@gmail.com> | 2020-10-07 19:54:57 +0200 |
commit | 1bb1440586aa756b03863ea990e8d282149bcb6b (patch) | |
tree | fad4b52874d63cfce50fc74614e9886a1688698e | |
parent | 6721d61189f710567593b2d9c736c13233cba07a (diff) | |
download | mutter-1bb1440586aa756b03863ea990e8d282149bcb6b.tar.gz |
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
(cherry picked from commit 66640446796f148f4b92bb3194a8938aa456cd53)
-rw-r--r-- | clutter/clutter/clutter-stage.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/clutter/clutter/clutter-stage.c b/clutter/clutter/clutter-stage.c index ba2f2440a..9723ce49e 100644 --- a/clutter/clutter/clutter-stage.c +++ b/clutter/clutter/clutter-stage.c @@ -4238,7 +4238,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; @@ -4247,16 +4247,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; } |