From 1ebbd51ab82ca8ce87a1356db64f621b7f38bbb62270966ad45323d3fbe6a6fb Mon Sep 17 00:00:00 2001 From: Luciano Santos Date: Thu, 14 Sep 2023 22:33:50 +0000 Subject: [PATCH] Accepting request 1110967 from home:AZhou:branches:GNOME:Factory - Add mutter-trap-dpms-errors.patch: Apparently DPMSForceLevel() can fail if DPMS is not enabled, so trap errors of DPMS because they are not critical and should not block user session. (bsc#1215273, glgo#GNOME/mutter!3160) OBS-URL: https://build.opensuse.org/request/show/1110967 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/mutter?expand=0&rev=466 --- mutter-trap-dpms-errors.patch | 41 +++++++++++++++++++++++++++++++++++ mutter.changes | 8 +++++++ mutter.spec | 3 +++ 3 files changed, 52 insertions(+) create mode 100644 mutter-trap-dpms-errors.patch diff --git a/mutter-trap-dpms-errors.patch b/mutter-trap-dpms-errors.patch new file mode 100644 index 0000000..8cb7131 --- /dev/null +++ b/mutter-trap-dpms-errors.patch @@ -0,0 +1,41 @@ +From 4749c073ebef7160af94b9a622090ec922d26aef Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jonas=20=C3=85dahl?= +Date: Mon, 7 Aug 2023 22:42:18 +0200 +Subject: [PATCH] monitor-manager/xrandr: Trap DPMS changes + +Apparently DPMSForceLevel() can fail to force a valid level sometimes. + +Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2857 +Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6883 +Part-of: +--- + src/backends/x11/meta-monitor-manager-xrandr.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/backends/x11/meta-monitor-manager-xrandr.c b/src/backends/x11/meta-monitor-manager-xrandr.c +index c50006200a..128a34b9fb 100644 +--- a/src/backends/x11/meta-monitor-manager-xrandr.c ++++ b/src/backends/x11/meta-monitor-manager-xrandr.c +@@ -58,7 +58,7 @@ + #include "backends/x11/meta-output-xrandr.h" + #include "clutter/clutter.h" + #include "meta/main.h" +-#include "meta/meta-x11-errors.h" ++#include "mtk/mtk-x11.h" + + /* Look for DPI_FALLBACK in: + * http://git.gnome.org/browse/gnome-settings-daemon/tree/plugins/xsettings/gsd-xsettings-manager.c +@@ -185,8 +185,10 @@ meta_monitor_manager_xrandr_set_power_save_mode (MetaMonitorManager *manager, + return; + } + ++ mtk_x11_error_trap_push (manager_xrandr->xdisplay); + DPMSForceLevel (manager_xrandr->xdisplay, state); + DPMSSetTimeouts (manager_xrandr->xdisplay, 0, 0, 0); ++ mtk_x11_error_trap_pop (manager_xrandr->xdisplay); + } + + static xcb_randr_rotation_t +-- +GitLab + diff --git a/mutter.changes b/mutter.changes index a9a304b..29e00ea 100644 --- a/mutter.changes +++ b/mutter.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Thu Sep 14 02:51:54 UTC 2023 - Alynx Zhou + +- Add mutter-trap-dpms-errors.patch: Apparently DPMSForceLevel() + can fail if DPMS is not enabled, so trap errors of DPMS because + they are not critical and should not block user session. + (bsc#1215273, glgo#GNOME/mutter!3160) + ------------------------------------------------------------------- Thu Sep 7 22:56:54 UTC 2023 - Luciano Santos diff --git a/mutter.spec b/mutter.spec index 91b4420..8c908da 100644 --- a/mutter.spec +++ b/mutter.spec @@ -36,6 +36,8 @@ Patch1: mutter-disable-cvt-s390x.patch 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 xwang@suse.com -- Fix SIGSEGV in meta_context_terminate Patch3: mutter-crash-meta_context_terminate.patch +# PATCH-FIX-UPSTERAM mutter-trap-dpms-errors.patch bsc#1215273 glgo#GNOME/mutter!3160 alynx.zhou@suse.com -- Trap non-critical DPMS errors +Patch4: mutter-trap-dpms-errors.patch ## 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. @@ -147,6 +149,7 @@ applications that want to make use of the mutter library. %patch1 -p1 %patch2 -p1 %patch3 -p1 +%patch4 -p1 %endif # SLE-only patches and translations. %if 0%{?sle_version}