backends: Handle tablet settings lookups with no backing libwacom info
Those will be unseen by g-s-d/g-c-c, so no settings will be written on disk for those. Still, look up an ID correctly in this case instead of crashing. https://bugzilla.gnome.org/show_bug.cgi?id=771628
This commit is contained in:
parent
5fbb479301
commit
3137ddb1a1
@ -1052,7 +1052,7 @@ static gchar *
|
|||||||
get_tablet_settings_id (ClutterInputDevice *device,
|
get_tablet_settings_id (ClutterInputDevice *device,
|
||||||
DeviceMappingInfo *info)
|
DeviceMappingInfo *info)
|
||||||
{
|
{
|
||||||
gchar *id, *machine_id;
|
gchar *id = NULL, *machine_id;
|
||||||
gsize length;
|
gsize length;
|
||||||
|
|
||||||
if (!g_file_get_contents ("/etc/machine-id", &machine_id, &length, NULL))
|
if (!g_file_get_contents ("/etc/machine-id", &machine_id, &length, NULL))
|
||||||
@ -1060,13 +1060,15 @@ get_tablet_settings_id (ClutterInputDevice *device,
|
|||||||
|
|
||||||
machine_id = g_strstrip (machine_id);
|
machine_id = g_strstrip (machine_id);
|
||||||
#ifdef HAVE_LIBWACOM
|
#ifdef HAVE_LIBWACOM
|
||||||
id = g_strdup_printf ("%s-%s", machine_id, libwacom_get_match (info->wacom_device));
|
if (info->wacom_device)
|
||||||
#else
|
id = g_strdup_printf ("%s-%s", machine_id, libwacom_get_match (info->wacom_device));
|
||||||
id = g_strdup_printf ("%s-%s:%s", machine_id,
|
|
||||||
clutter_input_device_get_vendor_id (device),
|
|
||||||
clutter_input_device_get_product_id (device));
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
if (!id)
|
||||||
|
id = g_strdup_printf ("%s-%s:%s", machine_id,
|
||||||
|
clutter_input_device_get_vendor_id (device),
|
||||||
|
clutter_input_device_get_product_id (device));
|
||||||
|
|
||||||
g_free (machine_id);
|
g_free (machine_id);
|
||||||
|
|
||||||
return id;
|
return id;
|
||||||
|
Loading…
Reference in New Issue
Block a user