summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Daniel van Vugt [Thu, 24 May 2018 09:51:22 +0000 (17:51 +0800)]
clutter: Fix offscreen-effect painting of clones
`ClutterOffscreenEffect` had been getting the wrong bounding box in the
case of clones and descendents of clones, causing visibly incorrect
clipping. This was due to `clutter_actor_get_paint_box` only ever being
given the source actor during a paint (which is correct) and not the clone.
Even if we weren't painting a clone but an offscreened descendent of a
clone (like in gnome-shell's desktop zoom), we would get the wrong result.
Fortunately we don't need to know the actual clone/actor being painted so
don't need to call the problematic `clutter_actor_get_paint_box` at all.
The solution is to only keep untransformed rendering in the FBO and leave
the correct transformation for later. The correct clone/actor's
transformation is already set for us as the current cogl modelview matrix
by `clutter_actor_paint`.
Bonus optimization: This all means we don't need to keep `last_matrix_drawn`
or force a full repaint every time some part of the transformation changes.
Because the FBO contents are no longer affected by transformations. As it
should be. In other words, offscreen-effected actors can now move around
on screen without themselves being repainted.
Special thanks to Mai Lavelle for identifying the cause of the problem.
Fixes:
https://bugzilla.gnome.org/show_bug.cgi?id=789050,
https://bugzilla.gnome.org/show_bug.cgi?id=659523#c9,
https://gitlab.gnome.org/GNOME/mutter/issues/196,
https://gitlab.gnome.org/GNOME/mutter/issues/282,
https://gitlab.gnome.org/GNOME/gnome-shell/issues/387,
https://launchpad.net/bugs/
1767648,
https://launchpad.net/bugs/
1779615
Origin: https://gitlab.gnome.org/vanvugt/mutter/commit/
9a466f289318050bde065bc8878947cb2691bc98
Bug-Ubuntu: https://launchpad.net/bugs/
1767648, https://launchpad.net/bugs/
1779615
Applied-Upstream: 3.31.90
Gbp-Pq: Name clutter-Fix-offscreen-effect-painting-of-clones.patch
Florian Müllner [Thu, 20 Oct 2016 16:00:04 +0000 (18:00 +0200)]
gtk-shell: Work around non-working startup notifications
GNOME Shell relies on the MetaScreen::startup-sequence-changed signal,
which is tied to (lib)startup-notification and therefore X11. As a result,
when we remove the startup sequence of a wayland client, GNOME Shell will
not be notified about this until startup-notification's timeout is hit.
As a temporary stop-gap, go through XWayland even for wayland clients,
so that the signal is emitted when expected.
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=768531
Applied-upstream: no
Gbp-Pq: Name bgo768531_workaround-startup-notifications.patch
Marco Trevisan (Treviño) [Fri, 30 Mar 2018 21:17:39 +0000 (15:17 -0600)]
theme: load icons as Gtk does with fallback and RTL support
Forwarded: yes, https://gitlab.gnome.org/GNOME/mutter/merge_requests/62
Gbp-Pq: Name theme-load-icons-as-Gtk-does-with-fallback-and-RTL-suppor.patch
Marco Trevisan (Treviño) [Fri, 30 Mar 2018 20:13:41 +0000 (14:13 -0600)]
theme: use gtk_render_icon_suface to paint button icon
This will properly take care of the icon transformations
and of the shadow.
Fixes #100
Bug: https://gitlab.gnome.org/GNOME/mutter/issues/100
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/
1764558
Forwarded: yes, https://gitlab.gnome.org/GNOME/mutter/merge_requests/62
Gbp-Pq: Name theme-use-gtk_render_icon_suface-to-paint-button-icon.patch
Jonas Ådahl [Thu, 11 Oct 2018 13:16:26 +0000 (13:16 +0000)]
monitor-manager: Don't use switch-config when ensuring configuration
Switch-configs are only to be used in certain circumstances (see
meta_monitor_manager_can_switch_config()) so when ensuring
configuration and attempting to create a linear configuration, use the
linear configuration constructor function directly without going via the
switch config method, otherwise we might incorrectly fall back to the
fallback configuration (only enable primary monitor).
This is a regression introduced by
6267732bec97773.
(cherry picked from commit
149e4d69345adab2bfea84a04f88511cbad62fe0)
Bug: https://gitlab.gnome.org/GNOME/mutter/issues/342
Applied-upstream: 3.30.3, commit:
7260ba5db3fcf9b086944aef9f3d89f159ece137
Gbp-Pq: Name monitor-manager-Don-t-use-switch-config-when-ensuring-con.patch
Jonas Ådahl [Fri, 25 Jan 2019 21:06:39 +0000 (21:06 +0000)]
screen-cast: Fix monitor recording on HiDPI
It scaled the logical monitor rect with scale to get the stream
dimensions, but that is only valid when having
'scale-monitor-framebuffers' enabled. Even when it was, it didn't work
properly, as clutter_stage_capture_into() doesn't work properly with
scaled monitor framebuffers yet.
(cherry picked from commit
3fa6a92cc5dda6ab3939c3e982185f6caf453360)
Bug: https://gitlab.gnome.org/GNOME/mutter/merge_requests/415
Applied-upstream: 3.30.3, commit:
1c57a5842069735b7bb80846130bf61d0e0a0880
Gbp-Pq: Name screen-cast-Fix-monitor-recording-on-HiDPI.patch
Carlos Garnacho [Tue, 18 Dec 2018 12:54:09 +0000 (12:54 +0000)]
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)
Applied-upstream: 3.30.3, commit:
5e4cb54bb5ced1a5829fb903fe1729f5da248b0c
Gbp-Pq: Name tests-Don-t-check-pixels-outside-actor-allocation.patch
Carlos Garnacho [Fri, 5 May 2017 12:15:30 +0000 (14:15 +0200)]
clutter: Avoid rounding compensation when invalidating 2D actors
This allows the redraw clip to be more constrained, so MetaCullable doesn't
end up rendering portions of window shadows, frame and background when a
window invalidates (part of) its contents.
(cherry picked from commit
a7df459416dc46321204c98197e4fd84724976e0)
Bug-Ubuntu: https://launchpad.net/bugs/
1767648
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=782344
Applied-upstream: 3.30.3, commit:
afc91f0804ad1350fa09aa141b93020f28143b48
Gbp-Pq: Name clutter-Avoid-rounding-compensation-when-invalidating-2D-.patch
Daniel van Vugt [Thu, 11 Oct 2018 07:02:05 +0000 (07:02 +0000)]
clutter-offscreen-effect: Disable if no texture
If texture allocation fails (e.g. on an old GPU with size limit 2048)
then `update_fbo` would return `FALSE` but leaves `priv->offscreen`
as non-NULL. So the next paint will try to use the offscreen with a
`NULL` texture and crashes. The solution is simply to ensure that
`priv->offscreen` is NULL if there is no `priv->texture`, so the default
(non-offscreen) paint path gets used instead.
Bug reported and fix provided by Gert van de Kraats.
(cherry picked from commit
f31cf0c3ef99b27c0b2c0161fc9fc1eb82778b2e)
(cherry picked from commit
1b78ca8c5eef39831639a0bde8d613cd1bb024dc)
Bug-Ubuntu: https://launchpad.net/bugs/
1795774
Applied-upstream: 3.30.3, commit:
c6223ffea87831f9bd51d11c50e953f0318459e0
Gbp-Pq: Name clutter-offscreen-effect-Disable-if-no-texture.patch
Daniel van Vugt [Thu, 11 Oct 2018 06:49:22 +0000 (06:49 +0000)]
cogl-auto-texture: Avoid a double-free crash
If texture allocation fails (e.g. on an old GPU with size limit 2048)
then `cogl_texture_new_with_size` was trying to use the same CoglError
twice. The second time was after it had already been freed.
Bug reported and fix provided by Gert van de Kraats.
(cherry picked from commit
d21478b0f0163b0688abe065a7009b33453d0d00)
Bug-Ubuntu: https://launchpad.net/bugs/
1790525
Applied-upstream: 3.30.3, commit:
1cb21877edd9c7c5bc991527ae70879b1e9fece0
Gbp-Pq: Name cogl-auto-texture-Avoid-a-double-free-crash.patch
Iñaki Larrañaga Murgoitio [Fri, 7 Dec 2018 12:49:20 +0000 (12:49 +0000)]
Update Basque translation
Origin: upstream, 3.30.3, commit:
d0de451e2910961993811b726383279dfb475957
Gbp-Pq: Name Update-Basque-translation.patch
Charles Monzat [Thu, 15 Nov 2018 22:35:59 +0000 (22:35 +0000)]
Update French translation
Origin: upstream, 3.30.3, commit:
28d2d54189b1badc0520a4d7c9c278f5755023e4
Gbp-Pq: Name Update-French-translation.patch
Simon McVittie [Wed, 6 Feb 2019 10:02:14 +0000 (10:02 +0000)]
mutter (3.30.2-6) unstable; urgency=medium
* Team upload
* Update to upstream gnome-3-30 branch at
3.30.2-8-g7260ba5db
- Avoid rendering beyond the bounds of a 2D actor
- Fix screencasting/monitor recording on HiDPI
- Fix a regression in 3.30.1 that sometimes turned off secondary displays
- Update translations: fr, eu
[dgit import unpatched mutter 3.30.2-6]
Simon McVittie [Wed, 6 Feb 2019 10:02:14 +0000 (10:02 +0000)]
Import mutter_3.30.2-6.debian.tar.xz
[dgit import tarball mutter 3.30.2-6 mutter_3.30.2-6.debian.tar.xz]
Simon McVittie [Thu, 15 Nov 2018 09:11:25 +0000 (09:11 +0000)]
Import mutter_3.30.2.orig.tar.xz
[dgit import orig mutter_3.30.2.orig.tar.xz]