From ae3a566dd929847a692bbfa259186a0ddd53ea6f39b85ebaa6f00d0b073c8f94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Lie?= Date: Mon, 17 Apr 2023 14:13:58 +0000 Subject: [PATCH] Accepting request 1079807 from GNOME:Next New checkout + add patch subbed upstream (I had the exact same crash quite quickly after logging in post Mesa version upgrade). Normally I'd prefer to not push non-acked patches, but this seems sane OBS-URL: https://build.opensuse.org/request/show/1079807 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/mutter?expand=0&rev=443 --- 2963.patch | 32 ++++++++++++++++++++++++++ _service | 2 +- _servicedata | 2 +- mutter-44.0+24.obscpio | 3 --- mutter-44.0+54.obscpio | 3 +++ mutter.changes | 52 ++++++++++++++++++++++++++++++++++++++++++ mutter.obsinfo | 6 ++--- mutter.spec | 16 +++++-------- 8 files changed, 98 insertions(+), 18 deletions(-) create mode 100644 2963.patch delete mode 100644 mutter-44.0+24.obscpio create mode 100644 mutter-44.0+54.obscpio diff --git a/2963.patch b/2963.patch new file mode 100644 index 0000000..cc80864 --- /dev/null +++ b/2963.patch @@ -0,0 +1,32 @@ +From 455456a9abdf72250fe53eab2f06ca3161831f05 Mon Sep 17 00:00:00 2001 +From: Robert Mader +Date: Sun, 16 Apr 2023 11:21:49 +0200 +Subject: [PATCH] xdg-shell: Always handle frame callbacks in + popup_apply_state() + +Just like we do in `toplevel_apply_state()`. + +Closes https://gitlab.gnome.org/GNOME/mutter/-/issues/2752 +--- + src/wayland/meta-wayland-xdg-shell.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/src/wayland/meta-wayland-xdg-shell.c b/src/wayland/meta-wayland-xdg-shell.c +index b0ce310d2a..45663aba15 100644 +--- a/src/wayland/meta-wayland-xdg-shell.c ++++ b/src/wayland/meta-wayland-xdg-shell.c +@@ -1240,7 +1240,10 @@ meta_wayland_xdg_popup_apply_state (MetaWaylandSurfaceRole *surface_role, + finish_popup_setup (xdg_popup); + + if (!meta_wayland_surface_get_window (surface)) +- return; ++ { ++ meta_wayland_actor_surface_queue_frame_callbacks (actor_surface, pending); ++ return; ++ } + + if (pending->xdg_positioner) + { +-- +GitLab + diff --git a/_service b/_service index 41db980..37fc36a 100644 --- a/_service +++ b/_service @@ -3,7 +3,7 @@ git https://gitlab.gnome.org/GNOME/mutter.git - 1e459c83 + 6b57ab89 @PARENT_TAG@+@TAG_OFFSET@ (.*)\+0 \1 diff --git a/_servicedata b/_servicedata index c790a4b..ba7bc5e 100644 --- a/_servicedata +++ b/_servicedata @@ -1,4 +1,4 @@ https://gitlab.gnome.org/GNOME/mutter.git - 1e459c830232a14d6276af699ab864546941d5a9 \ No newline at end of file + 6b57ab897582dfc8dce09ca343bdca6f3371f037 \ No newline at end of file diff --git a/mutter-44.0+24.obscpio b/mutter-44.0+24.obscpio deleted file mode 100644 index d6582f4..0000000 --- a/mutter-44.0+24.obscpio +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:73c7c2bf2f892a4cf1d5d439951418de1b260654a190abede61270221dd2b511 -size 25949709 diff --git a/mutter-44.0+54.obscpio b/mutter-44.0+54.obscpio new file mode 100644 index 0000000..76a4ab0 --- /dev/null +++ b/mutter-44.0+54.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3453d0f39d52eac1efcfc3d4f850a786bf839eedb26f98270962e4726bc3ca26 +size 25964045 diff --git a/mutter.changes b/mutter.changes index 174b1c8..55455df 100644 --- a/mutter.changes +++ b/mutter.changes @@ -1,3 +1,55 @@ +------------------------------------------------------------------- +Sun Apr 16 21:20:57 UTC 2023 - bjorn.lie@gmail.com + +- Update to version 44.0+54: + + backends/stage: Pass ClutterFrame to MetaStageWatchFunc + + clutter/paint-context: Allow assigning a ClutterFrame + + clutter/stage: Assign frames to paint context + + core: + - Create passive button grab on topmost Window + - Minor refactor + - Pass MetaWindow on passive button grab machinery + + cursor-tracker: Enhance the documentation and increase + annotation coverage + + dnd: Clear Wayland drag source when cancelled from stage grab + context + + frames/content: Use gtk_widget_compute_point() + + frames: Forward _NET_WM_STATE during frame initialization + + output-xrandr: + - Consistently return -1 on error + - Don't treat 0 as invalid backlight value + + screen-cast/monitor-src: + - Record DMA-BUF frames immediately + - Record frames with presentation time + + screen-cast/src: + - Add frame recording variant with timestamp + - Clean up DMA-BUF only error paths + + screen-cast-stream-src: + - Shuffle a variable around + - Export damaged video regions + - Minor adjustment + + stage-impl: Do clipped redraws when drawing offscreen + + wayland/data-device: Clear data source when cancelling drag + with ESC + + wayland: + - Don't leak XDnD mime type strings + - Set compositor when creating MetaWaylandDataSourceXWayland + + wayland/xdg-shell: + - Dismiss instead of destroy invalid popup + - Ignore reposition if popup was dismissed + + workspace: Only consider windows that should be showing as + focusable + + x11: + - Fix remaining leaks from switch to XGetAtomName() + - Remove unused member variables from + MetaX11SelectionInputStream + - Use Atoms when constructing a new + MetaX11SelectionOutputStream + + xdg-shell: Early out of apply if dismissed +- Add 2963.patch: xdg-shell: Always handle frame callbacks in + popup_apply_state(). Fixes a crash in mutter. +- Use auto(setup|patch) macros. + ------------------------------------------------------------------- Tue Apr 11 05:44:25 UTC 2023 - Luciano Santos diff --git a/mutter.obsinfo b/mutter.obsinfo index 6d996b6..899be8e 100644 --- a/mutter.obsinfo +++ b/mutter.obsinfo @@ -1,4 +1,4 @@ name: mutter -version: 44.0+24 -mtime: 1680633311 -commit: 1e459c830232a14d6276af699ab864546941d5a9 +version: 44.0+54 +mtime: 1681638517 +commit: 6b57ab897582dfc8dce09ca343bdca6f3371f037 diff --git a/mutter.spec b/mutter.spec index 267912b..009108f 100644 --- a/mutter.spec +++ b/mutter.spec @@ -22,7 +22,7 @@ %define api_minor 0 %define libmutter libmutter-%{api_major}-%{api_minor} Name: mutter -Version: 44.0+24 +Version: 44.0+54 Release: 0 Summary: Window and compositing manager based on Clutter License: GPL-2.0-or-later @@ -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-UPSTREAM 2963.patch glgo#GNOME/mutter#2963 -- xdg-shell: Always handle frame callbacks in popup_apply_state() +Patch4: https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2963.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. @@ -141,17 +143,11 @@ applications that want to make use of the mutter library. %lang_package %prep -%setup -q -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 - +%autosetup -N +%autopatch -p1 -M 999 # SLE-only patches and translations. %if 0%{?sle_version} -%patch1000 -p1 -%patch1001 -p1 -%patch1002 -p1 -#patch1003 -p1 +%autopatch -p1 -m 1000 %endif %build