[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1034167: marked as done (unblock: mutter/43.4-1)



Your message dated Tue, 11 Apr 2023 21:02:17 +0000
with message-id <E1pmL85-00DTjg-3C@respighi.debian.org>
and subject line unblock mutter
has caused the Debian Bug report #1034167,
regarding unblock: mutter/43.4-1
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
1034167: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1034167
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock
X-Debbugs-Cc: mutter@packages.debian.org
Control: affects -1 + src:mutter

I'd like to upload a new upstream bug fix release of mutter.

[ 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 <smcv@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);

--- End Message ---
--- Begin Message ---
Unblocked.

--- End Message ---

Reply to: