~linuxmint-daily-build-team/linuxmint/+git/muffin:4.0-maintenance

Last commit made on 2019-03-21
Get this branch:
git clone -b 4.0-maintenance https://git.launchpad.net/~linuxmint-daily-build-team/linuxmint/+git/muffin

Branch merges

Branch information

Name:
4.0-maintenance
Repository:
lp:~linuxmint-daily-build-team/linuxmint/+git/muffin

Recent commits

87269b3... by Clement Lefebvre <email address hidden>

4.0.7

8ce4544... by Jason Hicks

window-actor: Fix partially visible frameless windows, some window flickering cases (#405)

* window-actor: Fix partially visible frameless windows

Don't create mask textures for undecorated windows if there's no shape region

There was a mistake early on when moving mask generation invocation to
MetaWindowActor - which was clearing the mask texture for windows with
no shape region. This led to the other workarounds dealing with window
artifacts on size change because the mask was being created for windows
that didn't need it.

This commit has been tested for all cases that previously caused issues:

- Corners not updating on size/position change
- Chromium window corners with white artifacts
- Frameless windows being partially visible
- Xpad artifacts occurring when toggling decorations while effects are
enabled

* window-actor: Remove window group actor flag and related workaround

* Toggle the NO_LAYOUT actor flag on window_group before and after grab operations

Adding this flag to the window group was originally intended to help
improve window dragging smoothness, but its benefit there seems
negligible. However, it does improve input latency with window
rendering, so it's worth
finding a way to make it work without artifacts.

This disables the NO_LAYOUT flag during window dragging, which was
causing windows to flicker in and out of view.

* Fix build

afda026... by Jason Hicks

Phase out MetaCompScreen (#424)

* Phase out MetaCompScreen

Adapted from
https://github.com/gnome/mutter/commit/cd905a34fb18666376b44bbd670c8b8e855df149

* Fix build

* Clean up rebase

086eb9d... by Jason Hicks

window: Pass the input rect to meta_compositor_tile_window (#411)

18520e3... by Jason Hicks

cogl-util: Use original meta_rectangle_new for older GPUs (#401)

524463d... by Clement Lefebvre <email address hidden>

4.0.6

3a63c92... by Clement Lefebvre <email address hidden>

Re-add gsettings key org.cinnamon.muffin button-layout

This key is obsolete and doesn't do anything since Cinnamon 3.8.

In Debian Stretch, Chromium relies on it and crashes if the key
is absent. Debian won't fix anything that doesn't directly affect
them and they're running an old version of Cinnamon (where the key
is present). So we're fixing it here for them instead.

f001ea2... by Clement Lefebvre <email address hidden>

4.0.5

7ace92e... by Jason Hicks

window-actor: Fix corners not updating on size change (#394)

* window-actor: Create mask textures less often on idle

By waiting for the next idle, we are guaranteed to have all the geometry
updates for a window actor complete, so when the mask texture is
generated, we're basing it off of accurate window dimensions. This
allows us to call ensure_mask less frequently, and resolves the need for
previous work-arounds.

* window: Add meta_window_get_client_area_rect

* Fix work-arounds, don't calculate borders on all windows

The resizing signal work-around in MetaWindow is not needed - the
correct fix is calling update_corners before creating the mask texture
in check_needs_reshape because the overlay path gets set in
MetaShapedTexture in update_corners, and the mask generation depends on
that.

We don't need to calculate MetaFrameBorders on frameless windows - this
call is heavy, even with the caching added in
https://github.com/linuxmint/muffin/commit/8779c27f78150970b98e5681acfb5b792d8fea35.
Use the client area rect in check_needs_reshape, and then pull the bits
out of meta_window_get_outer_rect that we need in update_corners for
framed windows. This was calling meta_frame_calc_borders a second time
on a single paint, and is not used here in #371.

Also changes g_idle_add_full to meta_later_add because the delay is only
needed on size change when the window geometry hasn't been computed yet.
We need the mask texture to render before the next redraw, otherwise a
performance regression occurs.

* Clean up changes

Creating the mask texture on idle caused frame pacing problems, and
unreliably caused artifacts on frameless chromium windows. The fix for
framed window corner artifacts was moving update_corners before
meta_window_actor_reset_mask_texture.

05580ec... by Clement Lefebvre <email address hidden>

4.0.4