Accepting request 1170716 from GNOME:Factory
- Add 0001-Revert-clutter-stage-Avoid-queueing-stage-updates-wh.patch: Reverting commit 261f516a to fix black screen on Xorg when logging in or logging out (glgo#GNOME/mutter#3452 bsc#1222612). (forwarded request 1170534 from xiaoguang_wang) OBS-URL: https://build.opensuse.org/request/show/1170716 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mutter?expand=0&rev=227
This commit is contained in:
commit
170eb20ace
131
0001-Revert-clutter-stage-Avoid-queueing-stage-updates-wh.patch
Normal file
131
0001-Revert-clutter-stage-Avoid-queueing-stage-updates-wh.patch
Normal file
@ -0,0 +1,131 @@
|
|||||||
|
From 3f3c8876e0494cf7af92ce9b216da70fd4c0c275 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Xiaoguang Wang <sun.wxg@gmail.com>
|
||||||
|
Date: Tue, 23 Apr 2024 12:28:45 +0800
|
||||||
|
Subject: [PATCH] Revert "clutter/stage: Avoid queueing stage updates when
|
||||||
|
they're already queued"
|
||||||
|
|
||||||
|
This reverts commit 261f516af4e635d4bb263bbbbb2f843f0cbe09de.
|
||||||
|
---
|
||||||
|
clutter/clutter/clutter-stage-private.h | 2 +-
|
||||||
|
clutter/clutter/clutter-stage-view.c | 2 +-
|
||||||
|
clutter/clutter/clutter-stage.c | 30 +++++++++----------------
|
||||||
|
3 files changed, 12 insertions(+), 22 deletions(-)
|
||||||
|
|
||||||
|
Index: mutter-46.0/clutter/clutter/clutter-stage-private.h
|
||||||
|
===================================================================
|
||||||
|
--- mutter-46.0.orig/clutter/clutter/clutter-stage-private.h
|
||||||
|
+++ mutter-46.0/clutter/clutter/clutter-stage-private.h
|
||||||
|
@@ -59,7 +59,7 @@ void clutter_stage_emit_b
|
||||||
|
void clutter_stage_emit_after_paint (ClutterStage *stage,
|
||||||
|
ClutterStageView *view,
|
||||||
|
ClutterFrame *frame);
|
||||||
|
-void clutter_stage_after_update (ClutterStage *stage,
|
||||||
|
+void clutter_stage_emit_after_update (ClutterStage *stage,
|
||||||
|
ClutterStageView *view,
|
||||||
|
ClutterFrame *frame);
|
||||||
|
|
||||||
|
Index: mutter-46.0/clutter/clutter/clutter-stage-view.c
|
||||||
|
===================================================================
|
||||||
|
--- mutter-46.0.orig/clutter/clutter/clutter-stage-view.c
|
||||||
|
+++ mutter-46.0/clutter/clutter/clutter-stage-view.c
|
||||||
|
@@ -917,7 +917,7 @@ handle_frame_clock_frame (ClutterFrameCl
|
||||||
|
priv->needs_update_devices = FALSE;
|
||||||
|
|
||||||
|
_clutter_run_repaint_functions (CLUTTER_REPAINT_FLAGS_POST_PAINT);
|
||||||
|
- clutter_stage_after_update (stage, view, frame);
|
||||||
|
+ clutter_stage_emit_after_update (stage, view, frame);
|
||||||
|
|
||||||
|
return clutter_frame_get_result (frame);
|
||||||
|
}
|
||||||
|
Index: mutter-46.0/clutter/clutter/clutter-stage.c
|
||||||
|
===================================================================
|
||||||
|
--- mutter-46.0.orig/clutter/clutter/clutter-stage.c
|
||||||
|
+++ mutter-46.0/clutter/clutter/clutter-stage.c
|
||||||
|
@@ -130,8 +130,6 @@ typedef struct _ClutterStagePrivate
|
||||||
|
|
||||||
|
int update_freeze_count;
|
||||||
|
|
||||||
|
- gboolean update_scheduled;
|
||||||
|
-
|
||||||
|
GHashTable *pointer_devices;
|
||||||
|
GHashTable *touch_sequences;
|
||||||
|
|
||||||
|
@@ -512,15 +510,11 @@ clutter_stage_emit_after_paint (ClutterS
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
-clutter_stage_after_update (ClutterStage *stage,
|
||||||
|
- ClutterStageView *view,
|
||||||
|
- ClutterFrame *frame)
|
||||||
|
+clutter_stage_emit_after_update (ClutterStage *stage,
|
||||||
|
+ ClutterStageView *view,
|
||||||
|
+ ClutterFrame *frame)
|
||||||
|
{
|
||||||
|
- ClutterStagePrivate *priv = clutter_stage_get_instance_private (stage);
|
||||||
|
-
|
||||||
|
g_signal_emit (stage, stage_signals[AFTER_UPDATE], 0, view, frame);
|
||||||
|
-
|
||||||
|
- priv->update_scheduled = FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
@@ -635,15 +629,19 @@ _clutter_stage_queue_event (ClutterStage
|
||||||
|
gboolean copy_event)
|
||||||
|
{
|
||||||
|
ClutterStagePrivate *priv;
|
||||||
|
+ gboolean first_event;
|
||||||
|
|
||||||
|
g_return_if_fail (CLUTTER_IS_STAGE (stage));
|
||||||
|
|
||||||
|
priv = clutter_stage_get_instance_private (stage);
|
||||||
|
|
||||||
|
+ first_event = priv->event_queue->length == 0;
|
||||||
|
+
|
||||||
|
g_queue_push_tail (priv->event_queue,
|
||||||
|
copy_event ? clutter_event_copy (event) : event);
|
||||||
|
|
||||||
|
- clutter_stage_schedule_update (stage);
|
||||||
|
+ if (first_event)
|
||||||
|
+ clutter_stage_schedule_update (stage);
|
||||||
|
}
|
||||||
|
|
||||||
|
static ClutterEvent *
|
||||||
|
@@ -800,7 +798,8 @@ clutter_stage_queue_actor_relayout (Clut
|
||||||
|
{
|
||||||
|
ClutterStagePrivate *priv = clutter_stage_get_instance_private (stage);
|
||||||
|
|
||||||
|
- clutter_stage_schedule_update (stage);
|
||||||
|
+ if (priv->pending_relayouts == NULL)
|
||||||
|
+ clutter_stage_schedule_update (stage);
|
||||||
|
|
||||||
|
priv->pending_relayouts = g_slist_prepend (priv->pending_relayouts,
|
||||||
|
g_object_ref (actor));
|
||||||
|
@@ -2520,19 +2519,12 @@ _clutter_stage_get_window (ClutterStage
|
||||||
|
void
|
||||||
|
clutter_stage_schedule_update (ClutterStage *stage)
|
||||||
|
{
|
||||||
|
- ClutterStagePrivate *priv = clutter_stage_get_instance_private (stage);
|
||||||
|
ClutterStageWindow *stage_window;
|
||||||
|
- gboolean first_event;
|
||||||
|
GList *l;
|
||||||
|
|
||||||
|
if (CLUTTER_ACTOR_IN_DESTRUCTION (stage))
|
||||||
|
return;
|
||||||
|
|
||||||
|
- first_event = priv->event_queue->length == 0;
|
||||||
|
-
|
||||||
|
- if (priv->update_scheduled && !first_event)
|
||||||
|
- return;
|
||||||
|
-
|
||||||
|
stage_window = _clutter_stage_get_window (stage);
|
||||||
|
if (stage_window == NULL)
|
||||||
|
return;
|
||||||
|
@@ -2543,8 +2535,6 @@ clutter_stage_schedule_update (ClutterSt
|
||||||
|
|
||||||
|
clutter_stage_view_schedule_update (view);
|
||||||
|
}
|
||||||
|
-
|
||||||
|
- priv->update_scheduled = TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
@ -1,3 +1,10 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Apr 28 01:22:43 UTC 2024 - Xiaoguang Wang <xiaoguang.wang@suse.com>
|
||||||
|
|
||||||
|
- Add 0001-Revert-clutter-stage-Avoid-queueing-stage-updates-wh.patch:
|
||||||
|
Reverting commit 261f516a to fix black screen on Xorg when logging
|
||||||
|
in or logging out (glgo#GNOME/mutter#3452 bsc#1222612).
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Apr 8 06:11:23 UTC 2024 - Alynx Zhou <alynx.zhou@suse.com>
|
Mon Apr 8 06:11:23 UTC 2024 - Alynx Zhou <alynx.zhou@suse.com>
|
||||||
|
|
||||||
|
@ -40,6 +40,8 @@ Patch3: mutter-fix-x11-restart.patch
|
|||||||
Patch4: 0001-Revert-clutter-actor-Cache-stage-relative-instead-of.patch
|
Patch4: 0001-Revert-clutter-actor-Cache-stage-relative-instead-of.patch
|
||||||
# PATCH-FIX-UPSTREAM mutter-fix-front-buffer-lock.patch glgo#gnome/mutter!3674 bsc#1222409 alynx.zhou@suse.com -- Fix front buffer lock error
|
# PATCH-FIX-UPSTREAM mutter-fix-front-buffer-lock.patch glgo#gnome/mutter!3674 bsc#1222409 alynx.zhou@suse.com -- Fix front buffer lock error
|
||||||
Patch5: mutter-fix-front-buffer-lock.patch
|
Patch5: mutter-fix-front-buffer-lock.patch
|
||||||
|
# PATCH-FIX-UPSTREAM 0001-Revert-clutter-stage-Avoid-queueing-stage-updates-wh.patch glgo#GNOME/mutter#3452 bsc#1222612 xwang@suse.com -- Fix blank screen on Xorg when logging in or logging out
|
||||||
|
Patch6: 0001-Revert-clutter-stage-Avoid-queueing-stage-updates-wh.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.
|
||||||
@ -152,6 +154,7 @@ applications that want to make use of the mutter library.
|
|||||||
%patch -P 3 -p1
|
%patch -P 3 -p1
|
||||||
%patch -P 4 -p1
|
%patch -P 4 -p1
|
||||||
%patch -P 5 -p1
|
%patch -P 5 -p1
|
||||||
|
%patch -P 6 -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