From cca2d2ac0daec917a7b159591263d80fec94d3c1 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jan=20R=C4=99korajski?= Date: Mon, 3 Mar 2014 16:37:39 +0100 Subject: [PATCH] - up to 1.17.4 - added touchpad fix from fedora (don't warp to bizarre places on initial touch) --- clutter.spec | 8 +++++--- fix-evdev-touchpad.patch | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 3 deletions(-) create mode 100644 fix-evdev-touchpad.patch diff --git a/clutter.spec b/clutter.spec index a978ace..d47e679 100644 --- a/clutter.spec +++ b/clutter.spec @@ -8,14 +8,15 @@ Summary: Library for rich GUIs Summary(pl.UTF-8): Biblioteka do bogatych graficznych interfejsów użytkownika Name: clutter -Version: 1.16.4 +Version: 1.17.4 Release: 1 License: LGPL v2+ Group: Libraries -Source0: http://ftp.gnome.org/pub/GNOME/sources/clutter/1.16/%{name}-%{version}.tar.xz -# Source0-md5: 29389588ce388bb64ec4d5c986a6afd3 +Source0: http://ftp.gnome.org/pub/GNOME/sources/clutter/1.17/%{name}-%{version}.tar.xz +# Source0-md5: 96a5dd7ef5156b231c245e0e7d0e4e93 Patch0: gtkdoc.patch Patch1: missing.patch +Patch2: fix-evdev-touchpad.patch URL: http://www.clutter-project.org/ BuildRequires: OpenGL-GLX-devel BuildRequires: atk-devel >= 1:2.5.3 @@ -148,6 +149,7 @@ Dokumentacja API clutter. %setup -q %patch0 -p1 %patch1 -p1 +%patch2 -p1 %build %{__gtkdocize} diff --git a/fix-evdev-touchpad.patch b/fix-evdev-touchpad.patch new file mode 100644 index 0000000..9cededf --- /dev/null +++ b/fix-evdev-touchpad.patch @@ -0,0 +1,38 @@ +diff -up clutter-1.16.0/clutter/evdev/clutter-device-manager-evdev.c.jx clutter-1.16.0/clutter/evdev/clutter-device-manager-evdev.c +--- clutter-1.16.0/clutter/evdev/clutter-device-manager-evdev.c.jx 2013-09-22 13:22:30.000000000 -0400 ++++ clutter-1.16.0/clutter/evdev/clutter-device-manager-evdev.c 2013-10-07 16:48:28.232916813 -0400 +@@ -535,11 +535,6 @@ dispatch_one_event (ClutterEventSource * + else if (e->code == BTN_TOOL_FINGER && e->value != AUTOREPEAT_VALUE) + { + source->touching = e->value; +- if (e->value) +- { +- source->last_x = source->cur_x; +- source->last_y = source->cur_y; +- } + } + else + { +@@ -580,6 +575,22 @@ dispatch_one_event (ClutterEventSource * + break; + + case EV_ABS: ++ /* first touch is magic */ ++ if (source->touching == 1) ++ { ++ switch (e->code) ++ { ++ case ABS_X: ++ source->last_x = source->cur_x = e->value; ++ break; ++ case ABS_Y: ++ source->last_y = source->cur_y = e->value; ++ source->touching = 2; /* note, assumes delivery order... */ ++ break; ++ } ++ break; ++ } ++ + switch (e->code) + { + case ABS_X: -- 2.44.0