Control: tags -1 moreinfo confirmed On 2023-04-10 15:29:08 +0100, Simon McVittie wrote: > Package: release.debian.org > Severity: normal > User: release.debian....@packages.debian.org > Usertags: unblock > X-Debbugs-Cc: mut...@packages.debian.org > Control: affects -1 + src:mutter > > I'd like to upload a new upstream bug fix release of mutter.
Please go ahead and remove the moreinfo tag once the version is available in unstable. Cheers > > [ Reason ] > Catch up with upstream 43.4 bug fix release, and cherry-pick patches > that were already accepted for 43.5. > > [ Impact ] > Multiple bug fixes and one translation update. Also transfer various > earlier bug fixes from Debian patches into part of the upstream source. > > [ Tests ] > I used a previous release-candidate on my Intel laptop for several days > without noticing any regressions. The only change since that version is > the Abkhazian translation update. > > Upstream's automated tests (at build-time and during autopkgtest) have the > same coverage and results as the version currently in bookworm. > > [ Risks ] > Key package with high visibility in our default desktop environment, but > the changes are narrowly targeted. > > [ Checklist ] > [x] all changes are documented in the d/changelog > [x] I reviewed all changes and I approve them > [x] attach debdiff against the package in testing > (filtered to exclude patch contents and translations) > > [ Other info ] > This has only been tested together with the corresponding gnome-shell > update. > > There is a remaining X11 focus issue that I'd like to be able to fix in > bookworm (#1032388) but upstream does not have a solution for it yet, > and the version already in testing has the same bug. > > unblock mutter/43.4-1 > debdiff *.dsc | filterdiff -p1 -x'po/*.po' -x'debian/patches/*.patch' > > diffstat for mutter-43.3 mutter-43.4 > > NEWS > | 13 > clutter/clutter/clutter-text.c > | 1 > cogl/cogl/cogl-framebuffer.c > | 2 > cogl/cogl/cogl-onscreen.c > | 18 > cogl/cogl/cogl-onscreen.h > | 3 > debian/changelog > | 23 > debian/patches/Revert-x11-Do-not-move-X11-input-focus-during-grabs.patch > | 87 > > debian/patches/Revert-x11-events-Do-not-update-focus-XWindow-during-grab.patch > | 36 > debian/patches/Update-Abkhazian-translation.patch > | 4262 ++++++++++ > > debian/patches/color-device-Don-t-close-lcms-profile-on-error-from-cd_ic.patch > | 52 > debian/patches/color-device-Make-sure-lcms_context-is-not-NULL.patch > | 47 > debian/patches/core-Avoid-focusing-windows-on-map-during-grabs.patch > | 35 > debian/patches/debian/Support-Dynamic-triple-double-buffering.patch > | 8 > debian/patches/debian/meson-Do-not-mark-CI-test-tools-as-required.patch > | 2 > debian/patches/meson-add-back-default_driver-option.patch > | 2 > debian/patches/series > | 10 > debian/patches/wayland-Don-t-overwrite-surface-offsets.patch > | 57 > debian/patches/wayland-Skip-subsurface-desync-if-parent-is-NULL.patch > | 35 > debian/patches/x11-Avoid-updating-focus-on-wayland-compositor.patch > | 47 > > debian/patches/x11-Ignore-_NET_ACTIVE_WINDOW-client-messages-while-grabb.patch > | 45 > meson.build > | 2 > po/ab.po > | 4159 +++++++++ > src/backends/meta-stage-impl.c > | 14 > src/wayland/meta-wayland-subsurface.c > | 6 > 24 files changed, 8509 insertions(+), 457 deletions(-) > > diff -Nru mutter-43.3/clutter/clutter/clutter-text.c > mutter-43.4/clutter/clutter/clutter-text.c > --- mutter-43.3/clutter/clutter/clutter-text.c 2023-02-13 > 18:12:26.000000000 +0000 > +++ mutter-43.4/clutter/clutter/clutter-text.c 2023-03-19 > 22:26:48.000000000 +0000 > @@ -1826,7 +1826,6 @@ > > clutter_text_free_paint_volume (self); > > - clutter_text_set_buffer (self, NULL); > g_free (priv->font_name); > > g_clear_object (&priv->input_focus); > diff -Nru mutter-43.3/cogl/cogl/cogl-framebuffer.c > mutter-43.4/cogl/cogl/cogl-framebuffer.c > --- mutter-43.3/cogl/cogl/cogl-framebuffer.c 2023-02-13 18:12:26.000000000 > +0000 > +++ mutter-43.4/cogl/cogl/cogl-framebuffer.c 2023-03-19 22:26:48.000000000 > +0000 > @@ -1695,8 +1695,6 @@ > CoglFramebufferPrivate *priv = > cogl_framebuffer_get_instance_private (framebuffer); > > - g_return_if_fail (buffers & COGL_BUFFER_BIT_COLOR); > - > cogl_framebuffer_driver_discard_buffers (priv->driver, buffers); > } > > diff -Nru mutter-43.3/cogl/cogl/cogl-onscreen.c > mutter-43.4/cogl/cogl/cogl-onscreen.c > --- mutter-43.3/cogl/cogl/cogl-onscreen.c 2023-04-10 14:26:00.000000000 > +0100 > +++ mutter-43.4/cogl/cogl/cogl-onscreen.c 2023-04-10 14:26:01.000000000 > +0100 > @@ -334,17 +334,16 @@ > if (G_UNLIKELY (COGL_DEBUG_ENABLED (COGL_DEBUG_SYNC_FRAME))) > cogl_framebuffer_finish (framebuffer); > > + cogl_framebuffer_discard_buffers (framebuffer, > + COGL_BUFFER_BIT_DEPTH | > + COGL_BUFFER_BIT_STENCIL); > + > klass->swap_buffers_with_damage (onscreen, > rectangles, > n_rectangles, > info, > user_data); > > - cogl_framebuffer_discard_buffers (framebuffer, > - COGL_BUFFER_BIT_COLOR | > - COGL_BUFFER_BIT_DEPTH | > - COGL_BUFFER_BIT_STENCIL); > - > if (!_cogl_winsys_has_feature > (COGL_WINSYS_FEATURE_SYNC_AND_COMPLETE_EVENT)) > { > CoglFrameInfo *info; > @@ -395,17 +394,16 @@ > COGL_WINSYS_FEATURE_SWAP_REGION */ > g_return_if_fail (klass->swap_region); > > + cogl_framebuffer_discard_buffers (framebuffer, > + COGL_BUFFER_BIT_DEPTH | > + COGL_BUFFER_BIT_STENCIL); > + > klass->swap_region (onscreen, > rectangles, > n_rectangles, > info, > user_data); > > - cogl_framebuffer_discard_buffers (framebuffer, > - COGL_BUFFER_BIT_COLOR | > - COGL_BUFFER_BIT_DEPTH | > - COGL_BUFFER_BIT_STENCIL); > - > if (!_cogl_winsys_has_feature > (COGL_WINSYS_FEATURE_SYNC_AND_COMPLETE_EVENT)) > { > CoglFrameInfo *info; > diff -Nru mutter-43.3/cogl/cogl/cogl-onscreen.h > mutter-43.4/cogl/cogl/cogl-onscreen.h > --- mutter-43.3/cogl/cogl/cogl-onscreen.h 2023-02-13 18:12:26.000000000 > +0000 > +++ mutter-43.4/cogl/cogl/cogl-onscreen.h 2023-03-19 22:26:48.000000000 > +0000 > @@ -242,6 +242,9 @@ > * This immediately queues state to OpenGL that will be used for the > * next swap. > * This needs to be called every frame. > + * > + * The expected values are independent of any viewport transforms applied to > + * the framebuffer. > */ > COGL_EXPORT void > cogl_onscreen_queue_damage_region (CoglOnscreen *onscreen, > diff -Nru mutter-43.3/debian/changelog mutter-43.4/debian/changelog > --- mutter-43.3/debian/changelog 2023-03-06 11:35:23.000000000 +0000 > +++ mutter-43.4/debian/changelog 2023-04-10 14:07:33.000000000 +0100 > @@ -1,3 +1,24 @@ > +mutter (43.4-1) unstable; urgency=medium > + > + * Team upload > + * New upstream release > + - Improve performance by reducing memory bandwidth use on some GPUs > + (GNOME/mutter!2091) > + - Fix handling of rotated screens, for example on Pinephone Pro and > + Pinebook Pro (GNOME/mutter#2557) > + - Avoid warnings when destroying a ClutterText object with recent > + GLib versions (GNOME/mutter#2566) > + - Other changes were included in previous Debian packaging updates > + * Drop most patches, applied upstream > + * d/patches: Update to upstream gnome-43 branch commit 43.4-2-gba5cb0542 > + - Fix a crash with newer GStreamer gtkwaylandsink (GNOME/mutter!2917) > + - Translation update: ab > + * Remove #1032388 from previous changelog entry. > + I hoped !2878 would fix both #1032388 and #1031945, but in fact it > + only fixes #1031945. > + > + -- Simon McVittie <s...@debian.org> Mon, 10 Apr 2023 14:07:33 +0100 > + > mutter (43.3-5) unstable; urgency=medium > > * Team upload > @@ -10,7 +31,7 @@ > d/p/x11-Ignore-_NET_ACTIVE_WINDOW-client-messages-while-grabb.patch, > d/p/core-Avoid-focusing-windows-on-map-during-grabs.patch: > Backport upstream merge request !2878, fixing X11 focus regressions > - (Closes: #1032388, #1031945) > + (Closes: #1031945) > * d/p/tests-Use-a-more-interoperable-path-to-bash.patch: > Fix path to interpreter in x11-test.sh instead of disabling it > - d/p/tests-Disable-broken-test.patch: Drop patch, no longer needed > diff -Nru mutter-43.3/debian/patches/series mutter-43.4/debian/patches/series > --- mutter-43.3/debian/patches/series 2023-03-06 11:35:23.000000000 +0000 > +++ mutter-43.4/debian/patches/series 2023-04-10 14:07:33.000000000 +0100 > @@ -1,11 +1,5 @@ > -wayland-Don-t-overwrite-surface-offsets.patch > -x11-Avoid-updating-focus-on-wayland-compositor.patch > -color-device-Make-sure-lcms_context-is-not-NULL.patch > -color-device-Don-t-close-lcms-profile-on-error-from-cd_ic.patch > -Revert-x11-Do-not-move-X11-input-focus-during-grabs.patch > -Revert-x11-events-Do-not-update-focus-XWindow-during-grab.patch > -x11-Ignore-_NET_ACTIVE_WINDOW-client-messages-while-grabb.patch > -core-Avoid-focusing-windows-on-map-during-grabs.patch > +wayland-Skip-subsurface-desync-if-parent-is-NULL.patch > +Update-Abkhazian-translation.patch > tests-Break-up-stacking-installed-tests-into-more-smaller.patch > tests-Use-a-more-interoperable-path-to-bash.patch > meson-add-back-default_driver-option.patch > diff -Nru mutter-43.3/meson.build mutter-43.4/meson.build > --- mutter-43.3/meson.build 2023-04-10 14:26:00.000000000 +0100 > +++ mutter-43.4/meson.build 2023-04-10 14:26:01.000000000 +0100 > @@ -1,5 +1,5 @@ > project('mutter', 'c', > - version: '43.3', > + version: '43.4', > meson_version: '>= 0.55.0', > license: 'GPLv2+' > ) > diff -Nru mutter-43.3/NEWS mutter-43.4/NEWS > --- mutter-43.3/NEWS 2023-02-13 18:12:26.000000000 +0000 > +++ mutter-43.4/NEWS 2023-03-19 22:26:48.000000000 +0000 > @@ -1,3 +1,16 @@ > +43.4 > +==== > +* Do not overwrite previously set offsets on attach [Matthias; !2843] > +* Fix Xwayland focus regressions [Carlos; !2848, !2878] > +* Memory handling fixes [Simon; !2877] > +* Reduce memory bandwidth usage in some GPUs [Erico; !2091] > +* Fix partial updates on offscreen rotated screens [Robert; !2860] > +* Fix a frequent warning when running with recent glib [Sebastian; !2790] > + > +Contributors: > + Matthias Clasen, Carlos Garnacho, Sebastian Keller, Robert Mader, > + Simon McVittie, Erico Nunes > + > 43.3 > ==== > * Skip resize effects for tiled windows during user grabs [Michael; !2579] > diff -Nru mutter-43.3/src/backends/meta-stage-impl.c > mutter-43.4/src/backends/meta-stage-impl.c > --- mutter-43.3/src/backends/meta-stage-impl.c 2023-04-10 > 14:26:00.000000000 +0100 > +++ mutter-43.4/src/backends/meta-stage-impl.c 2023-04-10 > 14:26:01.000000000 +0100 > @@ -214,6 +214,8 @@ > g_autofree int *freeme = NULL; > CoglFramebuffer *framebuffer; > CoglOnscreen *onscreen; > + int fb_width; > + int fb_height; > > if (cairo_region_is_empty (damage_region)) > return; > @@ -223,6 +225,8 @@ > return; > > onscreen = COGL_ONSCREEN (framebuffer); > + fb_width = cogl_framebuffer_get_width (framebuffer); > + fb_height = cogl_framebuffer_get_height (framebuffer); > > n_rects = cairo_region_num_rectangles (damage_region); > > @@ -234,12 +238,18 @@ > for (i = 0; i < n_rects; i++) > { > cairo_rectangle_int_t rect; > - int height = cogl_framebuffer_get_height (framebuffer); > > cairo_region_get_rectangle (damage_region, i, &rect); > + > + clutter_stage_view_transform_rect_to_onscreen (stage_view, > + &rect, > + fb_width, > + fb_height, > + &rect); > + > damage[i * 4] = rect.x; > /* y coordinate needs to be flipped for OpenGL */ > - damage[i * 4 + 1] = height - rect.y - rect.height; > + damage[i * 4 + 1] = fb_height - rect.y - rect.height; > damage[i * 4 + 2] = rect.width; > damage[i * 4 + 3] = rect.height; > } > diff -Nru mutter-43.3/src/wayland/meta-wayland-subsurface.c > mutter-43.4/src/wayland/meta-wayland-subsurface.c > --- mutter-43.3/src/wayland/meta-wayland-subsurface.c 2023-02-13 > 18:12:26.000000000 +0000 > +++ mutter-43.4/src/wayland/meta-wayland-subsurface.c 2023-04-10 > 14:26:01.000000000 +0100 > @@ -462,13 +462,15 @@ > struct wl_resource *resource) > { > MetaWaylandSurface *surface = wl_resource_get_user_data (resource); > + MetaWaylandSurface *parent; > gboolean is_parent_effectively_synchronized; > > - if (!surface->sub.synchronous) > + parent = surface->sub.parent; > + if (!parent || !surface->sub.synchronous) > return; > > is_parent_effectively_synchronized = > - is_surface_effectively_synchronized (surface->sub.parent); > + is_surface_effectively_synchronized (parent); > > if (!is_parent_effectively_synchronized) > meta_wayland_surface_apply_cached_state (surface); -- Sebastian Ramacher