GNOME Bugzilla – Bug 673919
don't set touchscreens in relative mode
Last modified: 2012-04-16 14:16:54 UTC
commit 5dd89a267e7c539e68 changed all touch devices to use the relative mode, but touchscreens should stay absolute so the attached patch is needed.
Created attachment 211850 [details] [review] the actual patch
We don't use Signed-Off-By lines in GNOME. Please also make sure to prefix the commit subject with the plugin name (for gnome-settings-daemon) or the panel name (for gnome-control-center) in future commit messages.
Just realised this patch is crap. You're passing a GsdWacomDevice to a function that expects a WacomDevice from libwacom. libwacom is also not used anywhere in gsd-wacom-manager.c, and the patches generates a warning.
commit bc5d65ce60b34da3257b5d13a6dbe8ff69e93f2d Author: Bastien Nocera <hadess@hadess.net> Date: Mon Apr 16 13:44:24 2012 +0100 wacom: Really don't set touchscreens into relative mode https://bugzilla.gnome.org/show_bug.cgi?id=673919#c3
(In reply to comment #3) > Just realised this patch is crap. Not very helpful language. For future reference please use terms like "bad quality" or plain "wrong". "Be respectful and considerate." Thanks.
alright, sorry for missing the include, but FWICT the is_screen_tablet approach won't work, since it's appears to be '0' for touchscreens. We tried it here: http://pastebin.com/YL23L7Ua so there's another bug then?
(In reply to comment #6) > alright, sorry for missing the include, It's not a missing include. You were using the wrong type of structure. You were passing a GsdWacomDevice (a GObject defined in gsd-wacom-device.[ch]) to a function that's supposed to deal with WacomDevice structures, as used in libwacom. > but FWICT the is_screen_tablet approach > won't work, since it's appears to be '0' for touchscreens. We tried it here: libwacom_is_builtin() is returning 1 because you're reading random data from a structure that isn't of the expected type. See also: device->priv->is_screen_tablet = libwacom_is_builtin (wacom_device); and: gboolean gsd_wacom_device_is_screen_tablet (GsdWacomDevice *device) { g_return_val_if_fail (GSD_IS_WACOM_DEVICE (device), FALSE); return device->priv->is_screen_tablet; } If libwacom_is_builtin() and gsd_wacom_device_is_screen_tablet() have different values, that's because you were passing garbage to the libwacom function. > so there's another bug then? I guess so.
right, got it this time, thanks. I don't have such hw myself, but will see to it that it'll get tested again and the other bug hopefully fixed in the process, properly this time :)