mutter:wip/halfline/black-stage-before-dpms-off

Last commit made on 2015-10-17
Get this branch:
git clone -b wip/halfline/black-stage-before-dpms-off https://git.launchpad.net/mutter

Branch merges

Branch information

Name:
wip/halfline/black-stage-before-dpms-off
Repository:
lp:mutter

Recent commits

711dd04... by Ray Strode <email address hidden>

xrandr: set stage to black before dpms off

redraws aren't processed when dpms has been turned
off, so we need to set the stage to black before
the screen goes dark, so that when it comes back
it's not showing stale contents.

87b11cc... by Ray Strode <email address hidden>

wip! stage: add new api for making the stage not paint children

We want to darken the stage before dpms, so this commit adds
a way to do that.

Note this probably doesn't work since we have no-clear hint set
on the stage.

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

theme: Stop hiding titlebar buttons in dialogs

As design patterns have evolved, dialogs that use CSD do use titlebar
buttons, so it's time to re-enable them for SSD as well.

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

54557f0... by Rui Matos

xprops: Fix reading Window and XSyncCounter properties

Both Window and XSyncCounter are XIDs which on 64 bit X clients are 8
bytes wide. But the values on the wire are 32 bit so, for these types,
we always copy 4 bytes into results->prop. As such copying them out
with a cast such as *(Window *) means that we are actually reading 8
bytes which depending on whether the higher addressed 4 bytes are zero
means that sometimes this works while others it gives us a bogus
value.

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

130807a... by Jonas Ådahl

wayland: Don't pre-multiply root cursor sizes with primary monitor scale

We cannot use the XSETTINGS value for cursor theme size because
gnome-settings-daemon already multiplies it by the primary monitor's
scale.

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

e84f694... by Jonas Ådahl

wayland: Don't scale XWayland pointer cursor sprites

We don't have any way of knowing what the intended size of a XWayland
cursor is supposed to be, so lets do what we do with regular XWayland
surfaces and don't scale them. The result is that cursor sprites of
HiDPI aware X11 clients will show correctly, but non-aware clients may
have tiny cursor sprites.

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

b18542f... by Carlos Garnacho

wayland: Avoid resending new data offers on intra-client focus changes

Each keyboard focus change ends up calling the MetaWaylandDataDevice
counterpart, we don't need though to notify the current selection
again. In order to fix this, keep track of the current client, and
only emit the relevant signals when the focus switches to another
client.

The situations where wl_data_device.selection were emitted during
focus changes between surfaces of the same client was inocuous most
of the times, although it's prone to inducing confusing behavior
on context menu clipboard actions, as the closing menu triggers a
focus change, which triggers a whole new wl_data_offer being created
and given on wl_data_device.selection, at a time where there's already
ongoing requests on the previous data offer.

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

da0aac6... by Carlos Garnacho

xwayland: Protect against crash on x11->wayland transfer cancellation

If the transfer is cancelled, the X11SelectionData will be cleared from
the MetaSelectionBridge, although x11_data_write_cb() was invariably
expecting it to be non-NULL.

If the write was cancelled, all the actions done in x11_data_write_cb()
are moot, so just return early. If there's other errors happening
(eg. "connection closed" if the target client happens to crash), we
should still attempt at clearing the data anyway.

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

8b0b0cf... by Jonas Ådahl

MetaWaylandSurface: Don't assume a toplevel always have a MetaWindow

When committing a toplevel surface we might no longer have a MetaWindow
associated with it. The reason may vary but some are: a popup was
dismissed, the client attached and committed a NULL buffer to a
wl_surface with the wl_shell_surface role, the client committed a
buffer to a wl_surface which previously had an toplevel window role
which extension object was destroyed.

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

6f64d6b... by Carlos Garnacho

wayland: Check the drag focus before processing XDND dest-side messages

If the drag dest surface suddenly disappears, we may find ourselves
processing an XdndPosition message that was sent before the X11 drag
source had an opportunity to find out.

In that case mutter does know, so double check before processing the
messages.