mutter:wip/garnacho/wayland-extra-scroll-events

Last commit made on 2015-10-23
Get this branch:
git clone -b wip/garnacho/wayland-extra-scroll-events https://git.launchpad.net/mutter

Branch merges

Branch information

Name:
wip/garnacho/wayland-extra-scroll-events
Repository:
lp:mutter

Recent commits

74be2e9... by Carlos Garnacho

wayland: Implement wl_pointer.axis_source/axis_stop/axis_frame emission

As per the spec. wl_pointer.axis_source determines the current source of
scroll events, wl_pointer.axis_stop determines when there's no further
scroll events on any axis (Which Clutter sends as dx/dy=0 events).
wl_pointer.axis_frame marks the end of a series of axis_* events.

v2: Updated to v4 of the protocol spec by
    Peter Hutterer <email address hidden>
v3: Update to use Clutter API

a5d2555... by Carlos Garnacho

wayland: Make it possible to trigger popups through pointer/keyboard/touch

Right now we just check the pointer serial, so the popup will be
immediately dismissed if the client passes a serial corresponding to
another input device.

Abstract this a bit further and add a meta_wayland_seat_can_popup() call
that will check the serial all input devices. This makes it possible to
trigger menus through touch or keyboard devices.

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

dd5a4ec... by Carlos Garnacho

wayland: Store key press/release serials on MetaWaylandKeyboard

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

43a1d43... by Rui Matos

monitor-manager-xrandr: Be more robust when reading XRROutputInfos

We might get modes in XRROutputInfos that aren't in the
XRRScreenResources we get earlier. This always seems to be transient,
i.e. when it happens, the X server will usually send us a follow up
RRScreenChangeNotify where we then get a "stable" view of the world
again.

In any case, when these glitches happen, we end up with NULL pointers
in the MetaOutput->modes array which makes us crash later on. This
patch ensures that doesn't happen.

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

d6d377a... by Jonas Ã…dahl

wayland: Set the xdg_popup pointer even when not mapping

If we immediately dismiss the popup, we still need to set the
surface->xdg_popup pointer field in order for the destructor to
properly clean up the state. Not doing this may cause a crash if the
xdg_popup resource that was immediately dismissed is destoryed after
wl_surface during client destruction.

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

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

theme: Complete removal of "fringe" titlebar button support

We have been ignoring those buttons since 3.16 after they had been
broken in the default theme for a couple of versions. As nobody
appears to miss them, it's time to remove them for good.

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

theme: Reset button style state when done drawing

We use a single style context to draw titlebar buttons, updating
its state according to each button's prelight state as necessary.
This assumes that the original state is neither ACTIVE nor PRELIGHT,
which means we need to reset the state after drawing to avoid
propagating the state of the last-drawn button.

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

iconcache: Mark surfaces as dirty after changing data

This is required to tell cairo to update its cached areas.

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

Bump version to 3.18.1

Update NEWS.

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

events: Don't use XIEvent serial numbers

XInput2 uses the raw sequence number for XIEvent serials[0], which only
matches the serial number in XEvents up to 16 bits[1]. So in order to
be able to make reliable comparisons with serials from other events or
calls to XNextRequest(), always use the field from the original XEvent
rather than the XIEvent serial (at least until we can get libXi fixed).

This (partially) reverts commit 35dd1e644dbc238.

[0] http://cgit.freedesktop.org/xorg/lib/libXi/commit?id=5d43d4914dcabb6d
[1] http://cgit.freedesktop.org/xorg/lib/libX11/tree/src/XlibInt.c#n265

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