Accepting request 1158160 from GNOME:Factory
OBS-URL: https://build.opensuse.org/request/show/1158160 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mutter?expand=0&rev=224
This commit is contained in:
commit
a689fa7cd1
144
0001-Revert-clutter-actor-Cache-stage-relative-instead-of.patch
Normal file
144
0001-Revert-clutter-actor-Cache-stage-relative-instead-of.patch
Normal file
@ -0,0 +1,144 @@
|
|||||||
|
From d11feddbb29f0bf6de104d8d5c54cf18f3ca96da Mon Sep 17 00:00:00 2001
|
||||||
|
From: Alynx Zhou <alynx.zhou@gmail.com>
|
||||||
|
Date: Thu, 14 Mar 2024 19:20:57 +0800
|
||||||
|
Subject: [PATCH] Revert "clutter/actor: Cache stage-relative instead of
|
||||||
|
absolute modelviews"
|
||||||
|
|
||||||
|
This reverts commit 703bbe0e99dbb688352e0bff396e5cbf2c6af45b.
|
||||||
|
---
|
||||||
|
clutter/clutter/clutter-actor.c | 67 ++++++++++-----------------------
|
||||||
|
1 file changed, 20 insertions(+), 47 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/clutter/clutter/clutter-actor.c b/clutter/clutter/clutter-actor.c
|
||||||
|
index dd0d5ceb6..70dea5ca2 100644
|
||||||
|
--- a/clutter/clutter/clutter-actor.c
|
||||||
|
+++ b/clutter/clutter/clutter-actor.c
|
||||||
|
@@ -612,7 +612,7 @@ struct _ClutterActorPrivate
|
||||||
|
/* the cached transformation matrix; see apply_transform() */
|
||||||
|
graphene_matrix_t transform;
|
||||||
|
|
||||||
|
- graphene_matrix_t stage_relative_modelview;
|
||||||
|
+ graphene_matrix_t absolute_modelview;
|
||||||
|
|
||||||
|
float resource_scale;
|
||||||
|
|
||||||
|
@@ -776,7 +776,7 @@ struct _ClutterActorPrivate
|
||||||
|
guint clear_stage_views_needs_stage_views_changed : 1;
|
||||||
|
guint needs_redraw : 1;
|
||||||
|
guint needs_finish_layout : 1;
|
||||||
|
- guint stage_relative_modelview_valid : 1;
|
||||||
|
+ guint absolute_modelview_valid : 1;
|
||||||
|
};
|
||||||
|
|
||||||
|
enum
|
||||||
|
@@ -2425,7 +2425,7 @@ absolute_geometry_changed (ClutterActor *actor)
|
||||||
|
{
|
||||||
|
actor->priv->needs_update_stage_views = TRUE;
|
||||||
|
actor->priv->needs_visible_paint_volume_update = TRUE;
|
||||||
|
- actor->priv->stage_relative_modelview_valid = FALSE;
|
||||||
|
+ actor->priv->absolute_modelview_valid = FALSE;
|
||||||
|
|
||||||
|
actor->priv->needs_finish_layout = TRUE;
|
||||||
|
/* needs_finish_layout is already TRUE on the whole parent tree thanks
|
||||||
|
@@ -3047,9 +3047,8 @@ _clutter_actor_apply_relative_transformation_matrix (ClutterActor *self,
|
||||||
|
graphene_matrix_t *matrix)
|
||||||
|
{
|
||||||
|
ClutterActorPrivate *priv = self->priv;
|
||||||
|
- ClutterActor *stage = _clutter_actor_get_stage_internal (self);
|
||||||
|
- graphene_matrix_t ancestor_modelview;
|
||||||
|
- graphene_matrix_t inverse_ancestor_modelview;
|
||||||
|
+ graphene_matrix_t parent_modelview;
|
||||||
|
+ graphene_matrix_t inverse_parent_modelview;
|
||||||
|
|
||||||
|
/* Note we terminate before ever calling stage->apply_transform()
|
||||||
|
* since that would conceptually be relative to the underlying
|
||||||
|
@@ -3058,63 +3057,37 @@ _clutter_actor_apply_relative_transformation_matrix (ClutterActor *self,
|
||||||
|
if (self == ancestor)
|
||||||
|
return;
|
||||||
|
|
||||||
|
- if (!priv->stage_relative_modelview_valid)
|
||||||
|
+ if (!priv->absolute_modelview_valid)
|
||||||
|
{
|
||||||
|
- graphene_matrix_init_identity (&priv->stage_relative_modelview);
|
||||||
|
+ graphene_matrix_init_identity (&priv->absolute_modelview);
|
||||||
|
|
||||||
|
if (priv->parent != NULL)
|
||||||
|
{
|
||||||
|
_clutter_actor_apply_relative_transformation_matrix (priv->parent,
|
||||||
|
- stage,
|
||||||
|
- &priv->stage_relative_modelview);
|
||||||
|
+ NULL,
|
||||||
|
+ &priv->absolute_modelview);
|
||||||
|
}
|
||||||
|
|
||||||
|
- _clutter_actor_apply_modelview_transform (self,
|
||||||
|
- &priv->stage_relative_modelview);
|
||||||
|
+ _clutter_actor_apply_modelview_transform (self, &priv->absolute_modelview);
|
||||||
|
|
||||||
|
- priv->stage_relative_modelview_valid = TRUE;
|
||||||
|
+ priv->absolute_modelview_valid = TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ancestor == NULL)
|
||||||
|
{
|
||||||
|
- _clutter_actor_apply_modelview_transform (stage, matrix);
|
||||||
|
- graphene_matrix_multiply (&priv->stage_relative_modelview, matrix, matrix);
|
||||||
|
- return;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- if (ancestor == stage)
|
||||||
|
- {
|
||||||
|
- graphene_matrix_multiply (&priv->stage_relative_modelview, matrix, matrix);
|
||||||
|
- return;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- if (ancestor == priv->parent)
|
||||||
|
- {
|
||||||
|
- _clutter_actor_apply_modelview_transform (self, matrix);
|
||||||
|
+ graphene_matrix_multiply (&priv->absolute_modelview, matrix, matrix);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
- graphene_matrix_init_identity (&ancestor_modelview);
|
||||||
|
+ graphene_matrix_init_identity (&parent_modelview);
|
||||||
|
_clutter_actor_apply_relative_transformation_matrix (ancestor,
|
||||||
|
- stage,
|
||||||
|
- &ancestor_modelview);
|
||||||
|
-
|
||||||
|
- if (graphene_matrix_near (&priv->stage_relative_modelview,
|
||||||
|
- &ancestor_modelview,
|
||||||
|
- FLT_EPSILON))
|
||||||
|
- return;
|
||||||
|
-
|
||||||
|
- if (graphene_matrix_is_identity (&ancestor_modelview))
|
||||||
|
- {
|
||||||
|
- graphene_matrix_multiply (&priv->stage_relative_modelview, matrix, matrix);
|
||||||
|
- return;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- if (graphene_matrix_inverse (&ancestor_modelview,
|
||||||
|
- &inverse_ancestor_modelview))
|
||||||
|
+ NULL,
|
||||||
|
+ &parent_modelview);
|
||||||
|
+ if (graphene_matrix_inverse (&parent_modelview,
|
||||||
|
+ &inverse_parent_modelview))
|
||||||
|
{
|
||||||
|
- graphene_matrix_multiply (&inverse_ancestor_modelview, matrix, matrix);
|
||||||
|
- graphene_matrix_multiply (&priv->stage_relative_modelview, matrix, matrix);
|
||||||
|
+ graphene_matrix_multiply (&inverse_parent_modelview, matrix, matrix);
|
||||||
|
+ graphene_matrix_multiply (&priv->absolute_modelview, matrix, matrix);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -7469,7 +7442,7 @@ clutter_actor_init (ClutterActor *self)
|
||||||
|
priv->enable_model_view_transform = TRUE;
|
||||||
|
|
||||||
|
priv->transform_valid = FALSE;
|
||||||
|
- priv->stage_relative_modelview_valid = FALSE;
|
||||||
|
+ priv->absolute_modelview_valid = FALSE;
|
||||||
|
|
||||||
|
/* the default is to stretch the content, to match the
|
||||||
|
* current behaviour of basically all actors. also, it's
|
||||||
|
--
|
||||||
|
2.44.0
|
||||||
|
|
@ -1,3 +1,11 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Mar 15 07:09:11 UTC 2024 - Alynx Zhou <alynx.zhou@suse.com>
|
||||||
|
|
||||||
|
- Add 0001-Revert-clutter-actor-Cache-stage-relative-instead-of.patch:
|
||||||
|
This leads into partial update while switching VT (from TTY to
|
||||||
|
GNOME) on X11 session with fbdev driver used (
|
||||||
|
glgo#GNOME/mutter#3302, bsc#1219546).
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Feb 1 09:28:37 UTC 2024 - Alynx Zhou <alynx.zhou@suse.com>
|
Thu Feb 1 09:28:37 UTC 2024 - Alynx Zhou <alynx.zhou@suse.com>
|
||||||
|
|
||||||
|
@ -38,6 +38,8 @@ Patch2: mutter-window-actor-Special-case-shaped-Java-windows.patch
|
|||||||
Patch3: mutter-fix-x11-restart.patch
|
Patch3: mutter-fix-x11-restart.patch
|
||||||
# PATCH-FIX-UPSTREAM mutter-fix-text-input-delete-surrounding.patch glgo#GNOME/mutter#2146 glgo#GNOME/mutter!2712 alynx.zhou@suse.com -- Fix delete_surrounding_text of text-input-v3
|
# PATCH-FIX-UPSTREAM mutter-fix-text-input-delete-surrounding.patch glgo#GNOME/mutter#2146 glgo#GNOME/mutter!2712 alynx.zhou@suse.com -- Fix delete_surrounding_text of text-input-v3
|
||||||
Patch4: mutter-fix-text-input-delete-surrounding.patch
|
Patch4: mutter-fix-text-input-delete-surrounding.patch
|
||||||
|
# PATCH-FIX-OPENSUSE 0001-Revert-clutter-actor-Cache-stage-relative-instead-of.patch glgo#GNOME/mutter#3302 bsc#1219546 alynx.zhou@suse.com -- Fix partial update on VT switch
|
||||||
|
Patch5: 0001-Revert-clutter-actor-Cache-stage-relative-instead-of.patch
|
||||||
|
|
||||||
## SLE-only patches start at 1000
|
## SLE-only patches start at 1000
|
||||||
# PATCH-FEATURE-SLE mutter-SLE-bell.patch FATE#316042 bnc#889218 idonmez@suse.com -- make audible bell work out of the box.
|
# PATCH-FEATURE-SLE mutter-SLE-bell.patch FATE#316042 bnc#889218 idonmez@suse.com -- make audible bell work out of the box.
|
||||||
@ -149,6 +151,7 @@ applications that want to make use of the mutter library.
|
|||||||
%patch -P 2 -p1
|
%patch -P 2 -p1
|
||||||
%patch -P 3 -p1
|
%patch -P 3 -p1
|
||||||
%patch -P 4 -p1
|
%patch -P 4 -p1
|
||||||
|
%patch -P 5 -p1
|
||||||
%endif
|
%endif
|
||||||
# SLE-only patches and translations.
|
# SLE-only patches and translations.
|
||||||
%if 0%{?sle_version}
|
%if 0%{?sle_version}
|
||||||
|
Loading…
Reference in New Issue
Block a user