diff --git a/gnome-settings-daemon-wacom-tablet-rotation.patch b/gnome-settings-daemon-wacom-tablet-rotation.patch new file mode 100644 index 0000000..2cc623f --- /dev/null +++ b/gnome-settings-daemon-wacom-tablet-rotation.patch @@ -0,0 +1,93 @@ +From 0fb1b96b3cb12fcc91398e3727c6d4117505fa10 Mon Sep 17 00:00:00 2001 +From: Carlos Garnacho +Date: Fri, 22 Sep 2017 17:50:28 +0200 +Subject: wacom: Use GTK+ skeleton + +The wacom module uses GDK resources indirectly through GsdDeviceMapper, +which turn out NULL when this object tries to attach itself to a +GdkScreen. + +https://bugzilla.gnome.org/show_bug.cgi?id=787884 +--- + plugins/wacom/main.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/plugins/wacom/main.c b/plugins/wacom/main.c +index ad1367c..a19a71b 100644 +--- a/plugins/wacom/main.c ++++ b/plugins/wacom/main.c +@@ -4,4 +4,4 @@ + #define MANAGER GsdWacomManager + #include "gsd-wacom-manager.h" + +-#include "daemon-skeleton.h" ++#include "daemon-skeleton-gtk.h" +-- +cgit v0.12 + +From 08424fb6c134765216bdf032457fa19ef44ebe16 Mon Sep 17 00:00:00 2001 +From: Carlos Garnacho +Date: Fri, 22 Sep 2017 17:52:06 +0200 +Subject: wacom: Add both tablet and touchscreen devices on initial iteration + +The GsdDeviceManager::device-added callback would observe both +display-attached tablets and touchscreens, but only the former were +added in the initial loop. + +This made touchscreens not properly mapped to outputs, as touchscreens +are usually built into the device. + +https://bugzilla.gnome.org/show_bug.cgi?id=787884 +--- + plugins/wacom/gsd-wacom-manager.c | 22 +++++++++++++++------- + 1 file changed, 15 insertions(+), 7 deletions(-) + +diff --git a/plugins/wacom/gsd-wacom-manager.c b/plugins/wacom/gsd-wacom-manager.c +index 3bcbca4..b6d71f9 100644 +--- a/plugins/wacom/gsd-wacom-manager.c ++++ b/plugins/wacom/gsd-wacom-manager.c +@@ -304,6 +304,19 @@ device_removed_cb (GsdDeviceManager *device_manager, + } + + static void ++add_devices (GsdWacomManager *manager, ++ GsdDeviceType device_type) ++{ ++ GList *devices, *l; ++ ++ devices = gsd_device_manager_list_devices (manager->priv->device_manager, ++ device_type); ++ for (l = devices; l ; l = l->next) ++ device_added_cb (manager->priv->device_manager, l->data, manager); ++ g_list_free (devices); ++} ++ ++static void + set_devicepresence_handler (GsdWacomManager *manager) + { + GsdDeviceManager *device_manager; +@@ -325,19 +338,14 @@ gsd_wacom_manager_init (GsdWacomManager *manager) + static gboolean + gsd_wacom_manager_idle_cb (GsdWacomManager *manager) + { +- GList *devices, *l; +- + gnome_settings_profile_start (NULL); + + manager->priv->device_mapper = gsd_device_mapper_get (); + + set_devicepresence_handler (manager); + +- devices = gsd_device_manager_list_devices (manager->priv->device_manager, +- GSD_DEVICE_TYPE_TABLET); +- for (l = devices; l ; l = l->next) +- device_added_cb (manager->priv->device_manager, l->data, manager); +- g_list_free (devices); ++ add_devices (manager, GSD_DEVICE_TYPE_TABLET); ++ add_devices (manager, GSD_DEVICE_TYPE_TOUCHSCREEN); + + gnome_settings_profile_end (NULL); + +-- +cgit v0.12 + diff --git a/gnome-settings-daemon.changes b/gnome-settings-daemon.changes index bd7ed1d..4e2cf15 100644 --- a/gnome-settings-daemon.changes +++ b/gnome-settings-daemon.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Mon Sep 25 11:39:28 UTC 2017 - badshah400@gmail.com + +- Add gnome-settings-daemon-wacom-tablet-rotation.patch: wacom: + Add both tablet and touchscreen devices on initial iteration, + and use GTK+ skeleton to make sure input coordinates are + properly transformed upon screen rotation; patch taken from + upstream git (bgo#787884). + ------------------------------------------------------------------- Thu Sep 14 15:10:00 CEST 2017 - fcrozat@suse.com diff --git a/gnome-settings-daemon.spec b/gnome-settings-daemon.spec index 3709f69..04eae0a 100644 --- a/gnome-settings-daemon.spec +++ b/gnome-settings-daemon.spec @@ -50,6 +50,8 @@ Patch5: gnome-settings-daemon-bring-back-updates-plugin.patch Patch6: gnome-settings-daemon-more-power-button-actions.patch # PATCH-FIX-OPENSUSE gnome-settings-daemon-switch-Japanese-default-input-to-mozc.patch bnc#1029083 boo#1056289 qzhao@suse.com -- Switch new user's default input engine from "anthy" to "mozc" in gnome-desktop with Japanese language and ibus input frame-work condition. Patch7: gnome-settings-daemon-switch-Japanese-default-input-to-mozc.patch +# PATCH-FIX-UPSTREAM gnome-settings-daemon-wacom-tablet-rotation.patch bgo#787884 badshah400@gmail.com -- wacom: Add both tablet and touchscreen devices on initial iteration, and use GTK+ skeleton to make sure input coordinates are properly transformed upon screen rotation; patch taken from upstream git +Patch8: gnome-settings-daemon-wacom-tablet-rotation.patch BuildRequires: cups-devel BuildRequires: fdupes BuildRequires: gtk-doc @@ -171,6 +173,7 @@ gnome-patch-translation-prepare %patch6 -p1 %endif %patch7 -p1 +%patch8 -p1 %build # need autoreconf if patch translation has run