Fix gnome-control-center crash for Bamboo Pen & Touch

- Generic styli needs to have erasers, default to two tools.
This commit is contained in:
Peter Hutterer 2012-05-03 09:51:34 +10:00
parent 501a58c765
commit 4f8c4d0d8d
4 changed files with 104 additions and 1 deletions

View File

@ -0,0 +1,34 @@
From 8e254c4c92c3d09dcfef1ba98b7023bea246adeb Mon Sep 17 00:00:00 2001
From: Peter Hutterer <peter.hutterer@who-t.net>
Date: Thu, 3 May 2012 09:24:32 +1000
Subject: [PATCH] data: add generic eraser to Bamboo Pen & Touch
Crashes gnome-control-center without it.
(gnome-control-center:18115): wacom-cc-panel-WARNING **: Could not set the
current stylus ID 0x0 for tablet 'Wacom Bamboo Pen & Touch', no general pen
found
wacom-cc-panel:ERROR:gsd-wacom-device.c:1491:gsd_wacom_device_set_current_stylus:
assertion failed: (device->priv->styli)
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
---
data/bamboo-pen-and-touch.tablet | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/data/bamboo-pen-and-touch.tablet b/data/bamboo-pen-and-touch.tablet
index 125db37..3fff338 100644
--- a/data/bamboo-pen-and-touch.tablet
+++ b/data/bamboo-pen-and-touch.tablet
@@ -13,7 +13,7 @@ Width=6
Height=4
# The other stylusses don't match it, it has two buttons and an eraser.
-Styli=0xfffff
+Styli=0xfffff;0xffffe;
[Features]
Stylus=true
--
1.7.10

View File

@ -0,0 +1,34 @@
From 17eb272e0cc6dd8404d210770ab9c2c0c9624a09 Mon Sep 17 00:00:00 2001
From: Bastien Nocera <hadess@hadess.net>
Date: Wed, 2 May 2012 16:57:04 +0100
Subject: [PATCH] lib: Fix generic stylus missing an eraser
HasEraser=yes, but we didn't add an eraser for the stylus,
leading to bugs in the display UI for consumer products.
https://bugzilla.gnome.org/show_bug.cgi?id=675299
---
libwacom/libwacom-database.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/libwacom/libwacom-database.c b/libwacom/libwacom-database.c
index 0c60d6d..9fc9e35 100644
--- a/libwacom/libwacom-database.c
+++ b/libwacom/libwacom-database.c
@@ -369,9 +369,10 @@ libwacom_parse_tablet_keyfile(const char *path)
g_strfreev (styli_list);
device->supported_styli = (int *) g_array_free (array, FALSE);
} else {
- device->supported_styli = g_new (int, 1);
- *device->supported_styli = 0xfffff;
- device->num_styli = 1;
+ device->supported_styli = g_new (int, 2);
+ device->supported_styli[0] = WACOM_STYLUS_FALLBACK_ID;
+ device->supported_styli[1] = WACOM_ERASER_FALLBACK_ID;
+ device->num_styli = 2;
}
/* Features */
--
1.7.10

View File

@ -0,0 +1,24 @@
From f647284b4c544697e90e35fa6297645087acfdf3 Mon Sep 17 00:00:00 2001
From: Cosimo Cecchi <cosimoc@gnome.org>
Date: Wed, 2 May 2012 12:26:05 -0400
Subject: [PATCH] tools: add missing linker flags for list-local-devices bin
---
tools/Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/Makefile.am b/tools/Makefile.am
index fcc2069..a6fa8b4 100644
--- a/tools/Makefile.am
+++ b/tools/Makefile.am
@@ -9,6 +9,6 @@ list_devices_LDADD=$(top_builddir)/libwacom/libwacom.la
bin_PROGRAMS = libwacom-list-local-devices
libwacom_list_local_devices_SOURCES = list-local-devices.c
-libwacom_list_local_devices_LDADD=$(top_builddir)/libwacom/libwacom.la
+libwacom_list_local_devices_LDADD=$(top_builddir)/libwacom/libwacom.la $(GLIB_LIBS)
libwacom_list_local_devices_CFLAGS=$(GLIB_CFLAGS)
--
1.7.10

View File

@ -1,6 +1,6 @@
Name: libwacom
Version: 0.5
Release: 1%{?dist}
Release: 2%{?dist}
Summary: Tablet Information Client Library
Requires: %{name}-data
@ -11,6 +11,10 @@ URL: http://linuxwacom.sourceforge.net
Source0: http://prdownloads.sourceforge.net/linuxwacom/%{name}/%{name}-%{version}.tar.bz2
Source1: libwacom.rules
Patch01: 0001-data-add-generic-eraser-to-Bamboo-Pen-Touch.patch
Patch02: 0001-lib-Fix-generic-stylus-missing-an-eraser.patch
Patch03: 0001-tools-add-missing-linker-flags-for-list-local-device.patch
BuildRequires: autoconf automake libtool doxygen
BuildRequires: glib2-devel libgudev1-devel
@ -36,6 +40,9 @@ Tablet information client library library data files.
%prep
%setup -q -n %{name}-%{version}
%patch01 -p1
%patch02 -p1
%patch03 -p1
%build
autoreconf --force -v --install || exit 1
@ -77,6 +84,10 @@ rm -f %{buildroot}%{_libdir}/*.la
%{_datadir}/libwacom/*.stylus
%changelog
* Thu May 03 2012 Peter Hutterer <peter.hutterer@redhat.com> 0.5-2
- Fix gnome-control-center crash for Bamboo Pen & Touch
- Generic styli needs to have erasers, default to two tools.
* Wed May 02 2012 Peter Hutterer <peter.hutterer@redhat.com> 0.5-1
- Update to 0.5
- Fix sources again - as long as Source0 points to sourceforge this is a bz2