Update to 3.21.92

This commit is contained in:
Florian Müllner 2016-09-13 00:20:05 +02:00
parent 5996eaf8d9
commit 7798e75204
5 changed files with 7 additions and 124 deletions

1
.gitignore vendored
View File

@ -113,3 +113,4 @@ mutter-2.31.5.tar.bz2
/mutter-3.21.4.tar.xz
/mutter-3.21.90.tar.xz
/mutter-3.21.91.tar.xz
/mutter-3.21.92.tar.xz

View File

@ -1,85 +0,0 @@
From 50f565dc32a0ac511d12053a1bb1cb22ebf43e44 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jonas=20=C3=85dahl?= <jadahl@gmail.com>
Date: Thu, 25 Aug 2016 17:38:45 +0800
Subject: [PATCH] wayland/cursor-role: Increase buffer use count on
construction
We may be assigned multiple times, if the surface is assigned to be a
cursor surface multiple times. Each time e.g. wl_pointer.set_cursor is
called, we'll be assigned.
While the role object exists, we'll handle buffer use count even when
we are not actively assigned, thus we should only handle the initial
assignment use count bump when constructing, so that we don't increase
it when reassigned, where the wl_resource may already have been
released.
https://bugzilla.gnome.org/show_bug.cgi?id=770402
---
src/wayland/meta-wayland-surface-role-cursor.c | 34 +++++++++++++++++---------
1 file changed, 23 insertions(+), 11 deletions(-)
diff --git a/src/wayland/meta-wayland-surface-role-cursor.c b/src/wayland/meta-wayland-surface-role-cursor.c
index 2dbbc55..d63aed4 100644
--- a/src/wayland/meta-wayland-surface-role-cursor.c
+++ b/src/wayland/meta-wayland-surface-role-cursor.c
@@ -110,19 +110,8 @@ cursor_sprite_prepare_at (MetaCursorSprite *cursor_sprite,
static void
cursor_surface_role_assigned (MetaWaylandSurfaceRole *surface_role)
{
- MetaWaylandSurfaceRoleCursor *cursor_role =
- META_WAYLAND_SURFACE_ROLE_CURSOR (surface_role);
- MetaWaylandSurfaceRoleCursorPrivate *priv =
- meta_wayland_surface_role_cursor_get_instance_private (cursor_role);
MetaWaylandSurface *surface =
meta_wayland_surface_role_get_surface (surface_role);
- MetaWaylandBuffer *buffer = meta_wayland_surface_get_buffer (surface);
-
- if (buffer)
- {
- g_set_object (&priv->buffer, buffer);
- meta_wayland_surface_ref_buffer_use_count (surface);
- }
meta_wayland_surface_queue_pending_frame_callbacks (surface);
}
@@ -213,6 +202,28 @@ cursor_surface_role_dispose (GObject *object)
}
static void
+cursor_surface_role_constructed (GObject *object)
+{
+ MetaWaylandSurfaceRoleCursor *cursor_role =
+ META_WAYLAND_SURFACE_ROLE_CURSOR (object);
+ MetaWaylandSurfaceRoleCursorPrivate *priv =
+ meta_wayland_surface_role_cursor_get_instance_private (cursor_role);
+ MetaWaylandSurfaceRole *surface_role =
+ META_WAYLAND_SURFACE_ROLE (cursor_role);
+ MetaWaylandSurface *surface =
+ meta_wayland_surface_role_get_surface (surface_role);
+ MetaWaylandBuffer *buffer;
+
+ buffer = meta_wayland_surface_get_buffer (surface);
+ if (buffer)
+ {
+ g_assert (buffer->resource);
+ g_set_object (&priv->buffer, buffer);
+ meta_wayland_surface_ref_buffer_use_count (surface);
+ }
+}
+
+static void
meta_wayland_surface_role_cursor_init (MetaWaylandSurfaceRoleCursor *role)
{
MetaWaylandSurfaceRoleCursorPrivate *priv =
@@ -238,6 +249,7 @@ meta_wayland_surface_role_cursor_class_init (MetaWaylandSurfaceRoleCursorClass *
surface_role_class->commit = cursor_surface_role_commit;
surface_role_class->is_on_output = cursor_surface_role_is_on_output;
+ object_class->constructed = cursor_surface_role_constructed;
object_class->dispose = cursor_surface_role_dispose;
}
--
2.9.3

View File

@ -1,30 +0,0 @@
From fcc5c1e6c05f117497a71ffbb551a8f36d0b929b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jonas=20=C3=85dahl?= <jadahl@gmail.com>
Date: Mon, 29 Aug 2016 23:10:17 +0800
Subject: [PATCH] clutter/evdev: Fix absolute pointer motion events
Absolute pointer events sent the X coordinate as both X and Y. This
caused input issues when running as a virtual machine if the virtual
machine used absolute pointer events instead of emulating a regular
mouse type (i.e. relative) device.
https://bugzilla.gnome.org/show_bug.cgi?id=770557
---
clutter/clutter/evdev/clutter-seat-evdev.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/clutter/clutter/evdev/clutter-seat-evdev.c b/clutter/clutter/evdev/clutter-seat-evdev.c
index 5ef3ae4..f5ae1dd 100644
--- a/clutter/clutter/evdev/clutter-seat-evdev.c
+++ b/clutter/clutter/evdev/clutter-seat-evdev.c
@@ -421,7 +421,7 @@ void clutter_seat_evdev_notify_absolute_motion (ClutterSeatEvdev *seat,
{
ClutterEvent *event;
- event = new_absolute_motion_event (seat, input_device, time_us, x, x, axes);
+ event = new_absolute_motion_event (seat, input_device, time_us, x, y, axes);
queue_event (event);
}
--
2.7.4

View File

@ -4,18 +4,14 @@
%global libinput_version 1.4
Name: mutter
Version: 3.21.91
Release: 2%{?dist}
Version: 3.21.92
Release: 1%{?dist}
Summary: Window and compositing manager based on Clutter
License: GPLv2+
#VCS: git:git://git.gnome.org/mutter
URL: http://www.gnome.org
Source0: http://download.gnome.org/sources/%{name}/3.21/%{name}-%{version}.tar.xz
# Backported from upstream
Patch0: clutterevdev-Fix-absolute-pointer-motion-events.patch
# Backported from upstream
Patch1: 0001-wayland-cursor-role-Increase-buffer-use-count-on-con.patch
BuildRequires: chrpath
BuildRequires: pango-devel
@ -107,8 +103,6 @@ the functionality of the installed %{name} package.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%build
autoreconf -f -i
@ -183,6 +177,9 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
%{_datadir}/mutter/tests
%changelog
* Tue Sep 13 2016 Florian Müllner <fmuellner@redhat.com> - 3.21.92-1
- Update to 3.21.92
* Thu Sep 08 2016 Kalev Lember <klember@redhat.com> - 3.21.91-2
- wayland/cursor-role: Increase buffer use count on construction (#1373372)

View File

@ -1 +1 @@
5f67544b2a1ba707315445fa7c514008 mutter-3.21.91.tar.xz
0bbfd09a8bda43fb5ab546b5551b6e8e mutter-3.21.92.tar.xz