commit 61e243de62986baf024ffd0d54a1378e288305af Merge: c28c3fd5c 86c1d2e9e Author: Simon McVittie <smcv@debian.org> Date: Mon Sep 25 11:50:47 2023 +0100 Merge tag 'debian/44.5-2' into debian/latest mutter release 44.5-2 for unstable (sid) (maintainer view tag generated by dgit --quilt=unapplied) [dgit distro=debian split --quilt=unapplied] commit c28c3fd5c81b170dc25f6a116223bf3bba15a891 Author: Simon McVittie <smcv@debian.org> Date: Mon Sep 25 10:22:48 2023 +0100 Update changelog commit 9eb399c97b3b2cdf0048ff30cabccca0509a1798 Merge: 461f381f0 ce4c71846 Author: Simon McVittie <smcv@debian.org> Date: Mon Sep 25 10:21:50 2023 +0100 Merge tag 'debian/44.5-1' into debian/latest mutter release 44.5-1 for unstable (sid) (maintainer view tag generated by dgit --quilt=unapplied) [dgit distro=debian split --quilt=unapplied] commit 86c1d2e9e6c0a2950b23c430978c251eb0ad65cb Author: Simon McVittie <smcv@debian.org> Date: Mon Sep 25 10:14:38 2023 +0100 Release to unstable commit 0039892f68f1851cce0e6575c379f98c49381da9 Author: Simon McVittie <smcv@debian.org> Date: Mon Sep 25 10:13:11 2023 +0100 Add versioned Build-Depends/Breaks to ensure Xwayland supports -byteswappedclients Closes: #1050642 commit ae91e0f513ca7ac6f8936f87189cb5966b703ee9 Author: Simon McVittie <smcv@debian.org> Date: Mon Sep 25 10:03:01 2023 +0100 d/patches: Update to gnome-44 branch commit 44.5-6-g0173cfffcd commit 461f381f0448cfb82ea912b60ae46c2839eafa6d Author: Jeremy Bícha <jeremy.bicha@canonical.com> Date: Fri Sep 22 13:24:04 2023 -0400 restore author for triple buffering patch Gbp-Dch: Ignore commit ce4c71846ae8fd82e7bc768527b6b4e04544a772 Author: Simon McVittie <smcv@debian.org> Date: Sun Sep 17 16:54:14 2023 +0100 Release to unstable commit c58c6c4a1894a389c4160989742f8be4a5295a10 Author: Simon McVittie <smcv@debian.org> Date: Sun Sep 17 16:53:57 2023 +0100 d/libmutter-12-0.symbols: Update commit 9ebdd2f49e2c471ea627e897130a2b59252b1499 Author: Simon McVittie <smcv@debian.org> Date: Sun Sep 17 14:59:21 2023 +0100 Update changelog commit d56a98d6214ddafde457a37df5cc1d3332cb0fd7 Author: Simon McVittie <smcv@debian.org> Date: Sun Sep 17 14:58:23 2023 +0100 Don't crash when profiling with sysprof 45~rc (mutter#3030) commit d21b14e49af3e2692ba4d0c5c713dc84b8408d61 Author: Simon McVittie <smcv@debian.org> Date: Sun Sep 17 14:11:18 2023 +0100 Update changelog commit 4529b8c3514660da4f15323118df5001e403c8a2 Author: Simon McVittie <smcv@debian.org> Date: Sun Sep 17 13:56:16 2023 +0100 d/patches: Drop patches that were applied upstream commit 83829c336fc67f2fa64692056e1df6a5052c07a2 Author: Simon McVittie <smcv@debian.org> Date: Sun Sep 17 13:54:48 2023 +0100 New upstream release commit a9b42f3faa27833bc69a24475461a951f85da3ab Merge: 48e3cc948 41ebc9ad0 Author: Simon McVittie <smcv@debian.org> Date: Sun Sep 17 13:54:48 2023 +0100 Update upstream source from tag 'upstream/44.5' Update to upstream version '44.5' with Debian dir 6e70cf1bbabb1b8944d01f186101991338b8b732 commit 41ebc9ad0ac0d66ba0ecc8aea88244b7cd72f29d Merge: 9713eb5bf 1511e6e1c Author: Simon McVittie <smcv@debian.org> Date: Sun Sep 17 13:54:36 2023 +0100 New upstream version 44.5 commit 48e3cc948ce34bd4394808bc95f2f0fb22bf083e Author: Simon McVittie <smcv@debian.org> Date: Sun Sep 17 13:54:29 2023 +0100 Update changelog before importing v44.5 commit f1a87e6574e6c31ce8bb4ec106a78f68de5c1221 Author: Simon McVittie <smcv@debian.org> Date: Sun Sep 17 13:53:47 2023 +0100 d/watch: Only watch for v44.x commit 1511e6e1cdc8fa1a84f6fbbb169777ac26ba7f44 Author: Florian Müllner <fmuellner@gnome.org> Date: Sat Sep 16 19:25:24 2023 +0200 Bump version to 44.5 Update NEWS. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3284> commit 74a9923bb771c2039c5e57d648763d3dfedf6ca4 Author: Florian Müllner <fmuellner@gnome.org> Date: Wed Sep 6 12:24:00 2023 +0200 window: Really fix portrait orientation check for tiling Commit 3bfcb6d1 fixed the check for tiling via keybindings, but ignored a subtle edge case when tiling with the pointer: The monitor used for tiling is the monitor with the pointer, which is not necessarily the one that contains the largest part of the window. That is, the correct monitor to check against depends on the context where the function is called. We can either figure it out automatically via the current window drag, or make it a parameter. The latter is clearer, because the callers already decide which monitor to use for tiling anyway. Fixes: 3bfcb6d1b9 ("window: Fix portrait orientation check for tiling") Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3248> (cherry picked from commit bc74d166ddf1609e21b4e6d5522587295cc4fc49) commit fa5573f7b5f8b0aa62691595778d0d6012b45d3b Author: Uzair Ahmad <uahmad@protonmail.com> Date: Sun Aug 20 01:32:16 2023 -0400 window: Fix portrait orientation check for tiling Use work area from the monitor that the window is currently on to determine if tiling should be allowed. Window tiling is disabled for monitors with portrait orientation, but the work area we use to detect portrait orientation is taken from the monitor that currently has the mouse pointer. This works fine for edge tiling using the mouse, but this is broken when using keybindings for window tiling because your mouse pointer could be on a different monitor that has horizontal orientation. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3199> (cherry picked from commit 3bfcb6d1b9d2c2717176e3a6e3be19d315810d42) commit a31f9637c2f990d29dddfe0318e21b3bf3f8527f Author: Jeremy Cline <jeremy@jcline.org> Date: Wed Aug 30 15:43:43 2023 -0400 onscreen/native: Check frame_info for null in finish frame callback While adjusting the monitor layout of my docked laptop, mutter got a segfault while attempting to dereference the frame_info struct. This happened on gnome-shell 44.4-1.fc38. cogl_onscreen_peek_head_frame_info() just forwards the call to g_queue_peek_head() which returns NULL in the event that the queue is empty. If finish_frame_result_feedback() is expected to always be called with a non-empty queue there's still a bug somewhere, but regardless this API can legitimately return NULL so it should be checked for prior to dereferencing. Fixes: 61801a713a29 ("onscreen/native: Avoid freezing the frame clock on failed cursor commits") Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3229> (cherry picked from commit 379996a63eabdc49f31ee529e1db21411b3bdc80) commit 9d3941dabee3705c252742769d324e3aeedbcecf Author: Jonas Ådahl <jadahl@gmail.com> Date: Tue Jun 13 22:21:31 2023 +0200 renderer/native: Don't drop disable-only mode set updates If we are making an update that only disables CRTCs, we would not actually post it, but just drop it then post nothing, as it wasn't ever added to the mode set update hash table. This resulted in hotplugs where we loose the all the connectors we had, where we want to disable all CRTCs and enable nothing, to fail to disable said CRTCs. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3073> (cherry picked from commit fddcf8ca9139a0f92191a674b567c5faf8484974) commit cc4c1949667455ae08a009e257c0586f44417cf2 Author: Sebastian Keller <skeller@gnome.org> Date: Sat Aug 19 18:40:56 2023 +0200 core: Don't unmap XWayland windows without buffers on visibility update 18be74ed was changing meta_window_should_be_showing_on_workspace() to only show XWayland windows when they have buffers to prevent starting transitions with a seemingly black window. This however did not just delay the transition, but when called in meta_window_update_visibility() could result in the X11 window getting unmapped again if the call happens before there is a buffer. Then, depending on the client, the window would either remain hidden or if the client tries to map the window again, this would repeat the process, triggering the closing transition every time. This commit instead just hides the XWayland window from the compositor but keeps the corresponding X11 window mapped while it does not have a buffer yet. Related: https://gitlab.gnome.org/GNOME/mutter/-/issues/2611 Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2965 Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2820 Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2867 Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3194> (cherry picked from commit 133931e3a381ad5a36e9b16974a9d2d0600a3e25) commit d967497ade561fe42e38c23e9b2ae27f9308368d Author: Carlos Garnacho <carlosg@gnome.org> Date: Wed Jun 7 10:23:09 2023 +0200 x11: Find nearest input affecting _NET_WM_MOVERESIZE X11 requests on Wayland The _NET_WM protocol, written before the birth of XInput 2.x, does have no notion of different input devices whatsoever. Anyways, in a X11 session it is safe to assume this refers about the Virtual Core Pointer since every input device by default drives it (incl. touchscreens through the "pointer emulating sequence", and styli). This assumption falls apart in a Wayland session with non-pointer input, since we do actually distinguish between all the distinct pointer devices and touchpoints, and do not let them emulate mouse input. We do need to specify a device/sequence there to drive the window move/resize operation. The _NET_WM_MOVERESIZE message just gives us the x/y root coordinates the resize was started from, so work from there into guessing what is the most likely device/sequence that did trigger the request on the client side. Conversely, on Wayland we do not need to check for possible race conditions in the pressed button states since we have larger guarantees about not missing these events if we checked for the button modifier mask beforehand, so make that race condition check specific to the X11 sessions. Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2836 Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3059> (cherry picked from commit af10ead918f87c37d0a7eafb122879deee435dc8) commit da84644a392f716e234ec8e834fa7b8991620949 Author: Carlos Garnacho <carlosg@gnome.org> Date: Wed Jun 7 10:21:31 2023 +0200 clutter: Add stage method to iterate over active input The stage has the knowledge about input that is ongoing over it (incl. things like styli and touchpoints). Add an iterator API for these devices/touchpoints, so they can be used for calculations and heuristics in other places of the code. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3059> (cherry picked from commit 4269f85bcc2f293ec43369d2cf7130cade0876c2) commit 143e645c8d5784bf85868148961ffff2f225237b Author: Carlos Garnacho <carlosg@gnome.org> Date: Tue Sep 5 17:44:18 2023 +0200 x11: Avoid poking MetaCompositor during MetaDisplay destruction Commit 9c3b130f67 changed slightly destruction order to handle use-after-free situations, but missed a small new one introduced by the order change: The MetaX11Display may schedule callbacks through MetaLaters, which depend on the MetaCompositor, which is now freed before the MetaX11Display. Since there is no winning move here, make the MetaX11Display aware of this by avoiding to remove the callback if the MetaCompositor is already gone. The MetaLaters infrastructure is already fully freed at this point (incl. the data it contained), so this shouldn't be a leak. Fixes: 9c3b130f67 ("display: Fix destruction order") Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3247> (cherry picked from commit cc874f5d336250c54303aae79d24f7105eaec417) commit 0cab94e41d03587aa4cd1953ef8a83dd76df1a4f Author: Barnabás Pőcze <pobrn@protonmail.com> Date: Thu Jun 8 02:52:00 2023 +0200 display: Fix destruction order MetaCompositorX11 might need the MetaDisplay's x11_display during shutdown (meta_sync_ring_destroy -> meta_sync_free), and `meta_display_shutdown_x11()` needs the MetaStack as it calls `meta_stack_{freeze,thaw}()`. So fix the order of destruction so that dependencies are destroyed after dependants. Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2852 Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3202> (cherry picked from commit 9c3b130f67bc38aca56fabb9862e5d43f615e161) commit 7dce1c342258396b25beca43e612a163b0e8bfa6 Author: Barnabás Pőcze <pobrn@protonmail.com> Date: Thu Jun 8 02:49:35 2023 +0200 core: Subscribe to stack changes in the stack-tracker This removes the implicit dependency on `display->stack_tracker` existing and being valid in `on_stack_changed()` because now it is the stack-tracker's responsibility to subscribe to the "changed" signal of the stack and handle the changes. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3202> (cherry picked from commit d6b3679bd3812101b49e98cdf14448377fe8d40f) commit 90da2cc67c7cf955c92b62a6d989dcd9797db293 Author: Carlos Garnacho <carlosg@gnome.org> Date: Tue Aug 29 11:21:50 2023 +0200 backends: Check that buffer age is available when checking damage history This used to be the case before the refactor at commit 43cee4b6b6, use_clipped_redraw would be unset before the larger check if has_buffer_age was set, but clutter_damage_history_is_age_valid() was FALSE. This got replaced by a check just on the latter, which will also be FALSE if has_buffer_age is not present. We have other means to achieve clipped redraws, so this slight change culled all of them. Fixes: 43cee4b6b6 ("stage-impl: Do clipped redraws when drawing offscreen") Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2771 Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3221> (cherry picked from commit 7d8d7c89d42fd23a354dade806a676f32d6ae537) commit 7fc141552aa62c5aa0e281b1423f2f537e2fa4a1 Author: Daniel van Vugt <daniel.van.vugt@canonical.com> Date: Thu Aug 3 16:11:59 2023 +0800 backends/x11: Trap errors from XIAllowTouchEvents And report them as debug messages instead of crashing. We don't want them to be visible usually because failures are expected in the autodeny code path. Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2808, https://launchpad.net/bugs/2029413 Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3146> commit da2d345dd17eb4adac51da73e765015861cdba0a Author: Jonas Ådahl <jadahl@gmail.com> Date: Mon Aug 7 22:42:18 2023 +0200 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: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3160>
Among the 16 debian patches available in version 44.5-2 of the package, we noticed the following issues: