Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package mutter for openSUSE:Factory checked in at 2022-11-25 14:08:08 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/mutter (Old) and /work/SRC/openSUSE:Factory/.mutter.new.1597 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mutter" Fri Nov 25 14:08:08 2022 rev:191 rq:1038030 version:43.1 Changes: -------- --- /work/SRC/openSUSE:Factory/mutter/mutter.changes 2022-11-08 10:53:26.605417733 +0100 +++ /work/SRC/openSUSE:Factory/.mutter.new.1597/mutter.changes 2022-11-25 14:08:08.549194091 +0100 @@ -1,0 +2,7 @@ +Thu Nov 24 11:26:23 UTC 2022 - Martin Wilck <mwi...@suse.com> + +- Fix window freezes when maximized on Xorg (boo#1205714, + glgo#GNOME/mutter!2694, glgo#GNOME/gnome-shell#6054) + * add clutter-actor-Show-on-all-stage-views-when-actors-ha.patch + +------------------------------------------------------------------- New: ---- clutter-actor-Show-on-all-stage-views-when-actors-ha.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ mutter.spec ++++++ --- /var/tmp/diff_new_pack.TF6y1R/_old 2022-11-25 14:08:09.329197923 +0100 +++ /var/tmp/diff_new_pack.TF6y1R/_new 2022-11-25 14:08:09.333197943 +0100 @@ -40,6 +40,8 @@ Patch2: mutter-window-actor-Special-case-shaped-Java-windows.patch # PATCH-FIX-UPSTREAM mutter-crash-meta_context_terminate.patch bsc#1199382 glgo#GNOME/mutter#2267 xw...@suse.com -- Fix SIGSEGV in meta_context_terminate Patch3: mutter-crash-meta_context_terminate.patch +# PATCH-FIX-UPSTREAM clutter-actor-Show-on-all-stage-views-when-actors-ha.patch boo#1205714 glgo#GNOME/mutter!2694 glgo#GNOME/gnome-shell#6054 +Patch4: clutter-actor-Show-on-all-stage-views-when-actors-ha.patch ## SLE-only patches start at 1000 # PATCH-FEATURE-SLE mutter-SLE-bell.patch FATE#316042 bnc#889218 idon...@suse.com -- make audible bell work out of the box. @@ -148,6 +150,7 @@ %patch1 -p1 %patch2 -p1 %patch3 -p1 +%patch4 -p1 # SLE-only patches and translations. %if 0%{?sle_version} ++++++ clutter-actor-Show-on-all-stage-views-when-actors-ha.patch ++++++ >From cc7752fc65db0d1c1d70def406f81c9733cce6a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= <ver...@v0yd.nl> Date: Mon, 14 Nov 2022 00:14:05 +0100 Subject: [PATCH] clutter/actor: Show on all stage-views when actors have no allocation When a badly behaving ClutterActor implementation manages to invalidate the allocation after the layout phase and before painting, we have no idea where the actor should be painted without running the whole layout machinery again. For paint volumes in this case we pretend the actor covers the whole stage and queue full-stage redraws. When updating stage-views, we're also handling this case, but not in the most graceful way. Just like with paint volumes, we should assume an actor without a valid allocation is simply everywhere, so set priv->stage_views to all available stage views in that case. Related: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6054 --- clutter/clutter/clutter-actor.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/clutter/clutter/clutter-actor.c b/clutter/clutter/clutter-actor.c index 95cfa65..dd96858 100644 --- a/clutter/clutter/clutter-actor.c +++ b/clutter/clutter/clutter-actor.c @@ -15459,18 +15459,19 @@ update_stage_views (ClutterActor *self) ClutterStage *stage; graphene_rect_t bounding_rect; + stage = CLUTTER_STAGE (_clutter_actor_get_stage_internal (self)); + g_return_if_fail (stage); + old_stage_views = g_steal_pointer (&priv->stage_views); if (priv->needs_allocation) { g_warning ("Can't update stage views actor %s is on because it needs an " "allocation.", _clutter_actor_get_debug_name (self)); + priv->stage_views = g_list_copy (clutter_stage_peek_stage_views (stage)); goto out; } - stage = CLUTTER_STAGE (_clutter_actor_get_stage_internal (self)); - g_return_if_fail (stage); - clutter_actor_get_transformed_extents (self, &bounding_rect); if (bounding_rect.size.width == 0.0 || -- 2.38.1