~ubuntu-desktop/ubuntu/+source/mutter:upstream/3.28.x

Last commit made on 2019-05-21
Get this branch:
git clone -b upstream/3.28.x https://git.launchpad.net/~ubuntu-desktop/ubuntu/+source/mutter
Members of Ubuntu Desktop can upload to this branch. Log in for directions.

Branch merges

Branch information

Name:
upstream/3.28.x
Repository:
lp:~ubuntu-desktop/ubuntu/+source/mutter

Recent commits

becbb8f... by Marco Trevisan (Treviño)

New upstream version 3.28.4

e356424... by =?utf-8?q?Florian_M=C3=BCllner?= <email address hidden>

Bump version to 3.28.4

Update NEWS.

b838fe8... by Marco Trevisan (Treviño)

compositor: Disconnect from stage signals on destruction

From this point there's not any need for the compositor to listen to signals
so we can disconnect from the stage ones we are connected to.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/556

(cherry picked from commit 3ba79961fed2c70df3201b3e588990c92aadcd7f)

2e64457... by Marco Trevisan (Treviño)

compositor: Destroy window actors list on destruction

When the compositor is destroyed we should cleanup the list of window actors we
created and destroy them.
Since all the actors are added to the window_group or top_window_group we can
just destroy these containers (together with the feedback_group), and simply
free the windows list.

This is particularly needed under X11 because before we destroy the display, we
might do some cleanups as detaching the surface pixmaps and freeing the damages
and if this happens at later point (for example when triggered by garbage
collector in gnome-shell), we might crash because the x11 dpy reference is
already gone.

Destroying the window actors instead, ensures we avoid any further call to X11
related functions and that we release the actors XServer resources.

Fixes https://gitlab.gnome.org/GNOME/mutter/issues/576

(cherry picked from commit 7718e67f5c0c78ed93e9ad04e7254b6db70a0337)

9b28972... by Daniel van Vugt

wayland: Remove unused GList *l

(cherry picked from commit db5abbb2257e0ced5157f9ab79a64eb0e5f9bfed)

6198d38... by Andrea Azzarone

clutter/x11: Implement keycode remap to keysyms on virtual key devices

Keycode lookup can fail for serveral reasons, e.g. if there is no combination of
modifiers and keycodes that can produce the target keysym with the current
keyboard layout.

In case the keycode lookup fails, remap temporarily the keysym to an unused
keycodes.

Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/issues/109

(cherry-picked from commit e3e933c47a69bd137bb83b3692d105d1261d16ff)

24b4c82... by Andrea Azzarone

clutter/x11: Consider remapped keys when guessing the keycode from the keysym

Since e3e933c4 a keyval can be temporarily remapped to an unused keycode. Due to
some limitations in XTestFakeKeyEvent, the remapping has to be done in the first
xkb group/layout. In case there are two or more keyboard layouts enabled and the
selected keyboard layout is not the first, clutter_keymap_x11_keycode_for_keyval
will fail to retrieve the correct keycode for a remapped keyval. Let's use the
reserved_keycodes map in order to retrieve the correct keycode if needed.

Fixes: https://gitlab.gnome.org/GNOME/mutter/issues/443

(cherry picked from commit e0811ce1416f93906026a18fda4cd6811594cfb2)

5b1eb29... by Marco Trevisan (Treviño)

New upstream version 3.28.3+git20190124

4af8d9d... by Carlos Garnacho

compositor: Avoid changing pipeline/source if shadow is not being painted

Avoids some context invalidations in cogl.

https://bugzilla.gnome.org/show_bug.cgi?id=782344

(cherry picked from commit 3c6a518d40d0ed8d04343f0780100e88f8519ed1)

0f9eb65... by Carlos Garnacho

tests: Don't check pixels outside actor allocation

The actor-shader-effect test actors are 50px wide, but we check the 51st
pixel. This went along undetected until "clutter: Avoid rounding
compensation when invalidating 2D actors" because the paint volumes were
made slightly bigger and the shaders paint all over them (I guess nobody
noticed those actors being actually ~52px wide).

Update the test to check the middle of the opposite edge, so we keep neatly
rounded numbers.

(cherry picked from commit 1d73533f786b8f83fcffae7e5f5965d3b1f4e57a)