mutter:wip/carlosg/fix-x11-wacom-device

Last commit made on 2020-03-20
Get this branch:
git clone -b wip/carlosg/fix-x11-wacom-device https://git.launchpad.net/mutter

Branch merges

Branch information

Name:
wip/carlosg/fix-x11-wacom-device
Repository:
lp:mutter

Recent commits

855c402... by Carlos Garnacho

backends: Consider pen/eraser devices when looking for matching WacomDevice

Those device types are still in use through the X11 backend, breaking some
checks around on that backend...

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

c131a9b... by Carlos Garnacho

backends/x11: Observe multiple pad mode switch buttons in a group

Some tablets like the Cintiq 24HDT have several mode switch buttons
per group. Those are meant to jump straight to a given mode, however
we just handle cycling across modes (as most other tablets have a
single mode switch button per group).

So spice up the mode switch handling so we handle multiple mode
switch buttons, assigning each of them a mode. If the device only
has one mode switch button, we do the old-fashioned cycling.

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

2ecbf6d... by Carlos Garnacho

x11: Handle windowing errors while writing selection INCR data

This error was just logged but not raised. Do as the code comment said
and raise a pipe error at that moment, and for subsequent operations
on the output stream (although none besides close() should be expected
after propagating the error properly).

Related: https://gitlab.gnome.org/GNOME/mutter/issues/1065

a13d60a... by Daniel Șerbănescu

Update Romanian translation

ed4b80c... by Robert Mader

clutter/stage: Rename parameters to match documentation

To silence warnings during GIR generation.

https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1133

0a6034e... by Jonas Ådahl

monitor-manager: Remove 'mirror' capability

With per-CRTC views, there is nothing stopping NVIDA EGLStream based
rendering to not support monitor mirroring, so lets remove that
restriction.

https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1098

c9a5b2b... by Jonas Ådahl

kms-impl-simple: Handle lack of cached mode set in flip fallback

When a page flip fails with a certain error code, we've treated this as
a hint that page flipping is broken and we should try to use mode
setting instead.

On some drivers, it seems that this error is also reported when there
was no mode set, which means we'll have no cached mode set to use in the
fallback. The lack of prior mode set tends to happen when we hit a race
when the DRM objects change before we have the time to process a hotplug
event.

Handle the lack a missing mode set in the flip fallback path, with the
assumption that we'll get a hotplug event that'll fix things up for us
eventually.

Closes: https://gitlab.gnome.org/GNOME/mutter/issues/917

db9b60c... by Carlos Garnacho

wayland: Represent preedit string cursor offset in bytes

Both IBus and ClutterInputFocus work in character offsets for the cursor
position in the preedit string. However the zwp_text_input protocol does
define the preedit string cursor offset to be in bytes.

Fixes client bugs in representing the caret within the preedit string,
as we were clearly giving the wrong offset.

Fixes: https://gitlab.gnome.org/GNOME/gtk/issues/2517

https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1132

fa74da0... by Jonas Ådahl

wayland/window: Ignore state changes for popups

We send configure events for state changes e.g. for `appears-focused`,
etc. What we don't want to do is to do this for popup windows, as in
Wayland don't care about this state.

When the focus mode was configured to "sloppy focus" we'd get
`appears-focused` state changes for the popup window only by moving the
mouse cursor around, and while a popup may care about focus, it does not
care about related appearance, as there is no such state in xdg_popup.

What these state changes instead resulted in was absolute window
configuration events, intended for toplevel (xdg_toplevel) windows. In
the end this caused the popup to be positioned aginst at (0, 0) of the
parent window, as the assumptions when the configuration of the popup
was acknowledged is that it had received a relative position window
configuration.

Fix this by simply ignoring any state changes of the window if it is a
popup, meaning we won't send any configuration events intended for
toplevels for state changes. Currently we don't have any way to know
this other than checking whether it has a placement rule. Cleaning up
MetaWindow creation is left to be dealt with another day.

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

https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1122

b310e1d... by Corentin Noël

clutter-stage: Add annotations to clutter_stage_capture

Especially document that out_captures is an array that is given as output.

https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1131