Commits on Source (28)
-
It was removed in 3.34 as part of 6ed5d2e2. And we thought that was the only thread that might exist and use X11. But the top gnome-shell crasher in 3.36 seems to suggest otherwise. We don't know what or where the offending thread is, but since: 1. We used XInitThreads for years already prior to 3.34; and 2. Extensions or any change to mutter/gnome-shell could conceivably use threads to make X calls, directly or indirectly, it's probably a good idea to reintroduce XInitThreads. The failing assertion in libx11 is also accompanied by a strong hint: ``` fprintf(stderr, "[xcb] Most likely this is a multi-threaded client " \ "and XInitThreads has not been called\n"); ``` https://bugs.launchpad.net/bugs/1877075 Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/1252 https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1256 (cherry picked from commit 1d5f9b69)
b1df6d08 -
Carlos Garnacho authored
Ensure that it does receive Start and Stop orderly, and error out otherwise. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1258 (cherry picked from commit 283cccbe)
fadfca2e -
Carlos Garnacho authored
They all checked that the remote session service talked with the correct peer, and some of them did check that there is an associated screencast session. Add a new check for the session being started (as it's state is decoupled with screencast session availability) and move all checks to a function that is called from all input-oriented DBus methods. Fixes: https://gitlab.gnome.org/GNOME/mutter/-/issues/1254 https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1258 (cherry picked from commit c8837a8d)
3daf9124 -
Carlos Garnacho authored
Make the data device track the keyboard focus, and use that list to forward the clipboard selection to all data devices from the same client. This is however not the case of DnD data offers, as the semantics of multiple in-flight offers is unclear. Fixes: https://gitlab.gnome.org/GNOME/mutter/-/issues/1250 (cherry-pick of commit 7e4e3714) https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1262
36f5a0a4 -
Carlos Garnacho authored
Make the data device track the keyboard focus, and use that list to forward the primary selection to all data devices from the same client. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1253 (cherry-pick of commit b45d5ef3) https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1262
493aeb65 -
Jonas Ådahl authored
"Legacy" is a misleading name, it's just how the native backend and the X11 backend behaves differently. Instead rename it to 'add_view()' and add the sanity check to the caller. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1251 (cherry picked from commit 73a43636)
6e6183ec -
Jonas Ådahl authored
The max framerate 1/0 means variable without any particular max, so don't throttle if that was set. Not doing this would end up with a floating point exception. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1251 (cherry picked from commit 96dd794f)
ba1f4221 -
Jonas Ådahl authored
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1251 (cherry picked from commit dfed5f6a)
cb7ba2e9 -
Jonas Ådahl authored
In the native backend, the MetaRenderer manages the view by creating one per CRTC, but until now the MetaStageX11 managed the view for the X11 backend. This caused some issues as it meant meta_renderer_get_views() not returning anything, and that the view of the X11 screen not being a MetaRendererView, while in the other backends, all views are. Fix this by moving the view management responsibility to MetaRendererX11Cm, and have MetaStageX11 only operate on it via meta_renderer_x11_cm_*() API. The MetaRendererX11Cm takes care of making sure the view is always added to the list in the renderer, and turning X11 screen sizes into "layouts" etc. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1251 (cherry picked from commit 8a541c08)
31307720 -
Jonas Ådahl authored
We're iterating inside the PipeWire loop when detecting PipeWire errors, and shouldn't destroy the PipeWire objects mid-iteration. Avoid this by first disabling the stream src (effectively stopping the recording), then notifying about it being closed in an idle callback. The notification eventually makes the rest of the screen cast code clean up the objects, including the src and the associated PipeWire objects, but will do so outside the PipeWire loop iteration. Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/1251 https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1251 (cherry picked from commit c8e12ead)
63fc71f0 -
Carlos Garnacho authored
This only checks touchscreen availability as we have no access to tablet-mode switch events as we do on the native backend. Fixes: https://gitlab.gnome.org/GNOME/mutter/-/issues/1242 https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1278 (cherry picked from commit 38bbd959)
a1bc2e0a -
Carlos Garnacho authored
This cannot be made to work reliably. Some factoids: - Internal devices may be connected via USB. - The ACPI spec provides the _PLD (Physical location of device) hook to determine how is an USB device connected, with an anecdotal success rate. Internal devices may be seen as external and vice-versa, there is also an "unknown" value that is widely used. - There may be non-USB keyboards, the old "AT Translated Set 2 Keyboard" interface does not change on hotplugging. - Libinput has an internal series of quirks to classify keyboards as internal of external, also with an "unknown" value. These heuristics are kinda hopeless to get right by our own hand. Drop this external keyboard detection in the hope that there will be something more deterministic to rely on in the future (e.g. the libinput quirks made available to us directly or indirectly). Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2378 Related: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2353 https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1277 (cherry picked from commit f8e2234c)
b425f115 -
Simon McVittie authoredc211f7be
-
Simon McVittie authored
Update to upstream version '3.36.2+12+gb425f115' with Debian dir 7fe90189e875c9b0a4e1756023daf80d4b0d8511
caaae0a5 -
Simon McVittie authored5d5f59b2
-
Simon McVittie authored6f5ee19d
-
Simon McVittie authoreda241a370
-
The stream will clean up the buffers, so let it do that before we destroy them under its feet. Note that it'll only do this after the following PipeWire commit: commit fbaa4ddedd84afdffca16f090dcc4b0db8ccfc29 Author: Wim Taymans <wtaymans@redhat.com> Date: Mon Jun 1 15:36:09 2020 +0200 stream: allow NULL param and 0 buffers in disconnect https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1283 (cherry picked from commit 97175f8f)
572849dd -
Apparently some shell extensions are setting invalid NaN allocations, leading to weird crashes like https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/1849. Even though an implementation error like this probably deserves a crash, those can be hard to debug since the crash can happen anywhere the allocation is being used later. So let Clutter be the good guy and prevent implementations from setting invalid allocations by sanity-checking the ClutterActorBoxes using g_return_if_fail. Fixes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/1849 https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1280
4a153f70 -
Update NEWS.
25ff898d -
Marco Trevisan authored1b052086
-
Marco Trevisan authored3500dcf7
-
Marco Trevisan authored3909488d
-
Marco Trevisan authored
mutter Debian release 3.36.3-1
099dcdaf -
Marco Trevisan authored
This version includes all the window decoration icons that mutter uses Gbp-Dch: full
924e0360 -
Marco Trevisan authored1c8a365d
-
Marco Trevisan authored824a84a0
-
Marco Trevisan authored
This reverts commit 924e0360. The change was just needed for having groovy to build properly, but we can avoid mentioning the version otherwise.
0c0e758e