gnome.mutter43: Apply fixes for GLib 2.76
This is a downstream patch because the code path is gone in mutter 44. We should give mutter 44 some try once gala supports it. Fixes https://github.com/elementary/gala/issues/1580
This commit is contained in:
parent
4601539c51
commit
a0ab388a7a
2 changed files with 33 additions and 0 deletions
|
@ -66,6 +66,14 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
url = "https://gitlab.gnome.org/GNOME/mutter/-/commit/285a5a4d54ca83b136b787ce5ebf1d774f9499d5.patch";
|
||||
sha256 = "/npUE3idMSTVlFptsDpZmGWjZ/d2gqruVlJKq4eF4xU=";
|
||||
})
|
||||
|
||||
# GLib 2.76 switches from using its own slice allocator to using the system malloc instead.
|
||||
# This makes dragging window between workspace in multitasking view crashes Pantheon's Gala.
|
||||
# Inspiration https://github.com/mate-desktop/mate-desktop/pull/538
|
||||
# Backtrace https://github.com/elementary/gala/issues/1580
|
||||
# Upstream report https://gitlab.gnome.org/GNOME/mutter/-/issues/2495
|
||||
# The patch will not apply on 44.0+, make sure this is fixed when trying to clean this up.
|
||||
./glib-2-76-gala-crash.patch
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
diff --git a/clutter/clutter/clutter-actor.c b/clutter/clutter/clutter-actor.c
|
||||
index d34c8f59f..8835a6a33 100644
|
||||
--- a/clutter/clutter/clutter-actor.c
|
||||
+++ b/clutter/clutter/clutter-actor.c
|
||||
@@ -12304,7 +12304,7 @@ clutter_actor_run_actions (ClutterActor *self,
|
||||
ClutterEventPhase phase)
|
||||
{
|
||||
ClutterActorPrivate *priv;
|
||||
- const GList *actions, *l;
|
||||
+ const GList *actions, *l, *next;
|
||||
gboolean retval = CLUTTER_EVENT_PROPAGATE;
|
||||
|
||||
priv = self->priv;
|
||||
@@ -12313,9 +12313,10 @@ clutter_actor_run_actions (ClutterActor *self,
|
||||
|
||||
actions = _clutter_meta_group_peek_metas (priv->actions);
|
||||
|
||||
- for (l = actions; l; l = l->next)
|
||||
+ for (l = actions; l; l = next)
|
||||
{
|
||||
ClutterAction *action = l->data;
|
||||
+ next = l->next;
|
||||
ClutterEventPhase action_phase;
|
||||
|
||||
action_phase = clutter_action_get_phase (action);
|
Loading…
Reference in a new issue