From 09fbe649a69d643fe94ae58e98b45a10dbc48a4a Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Wed, 20 Aug 2014 15:28:34 +0200 Subject: [PATCH] Backport an upstream patch for setting xkb layout index Needed for mutter 3.13.90. --- ...-Add-API-to-set-the-xkb-layout-index.patch | 72 +++++++++++++++++++ clutter.spec | 9 ++- 2 files changed, 80 insertions(+), 1 deletion(-) create mode 100644 0001-evdev-Add-API-to-set-the-xkb-layout-index.patch diff --git a/0001-evdev-Add-API-to-set-the-xkb-layout-index.patch b/0001-evdev-Add-API-to-set-the-xkb-layout-index.patch new file mode 100644 index 0000000..b1b3079 --- /dev/null +++ b/0001-evdev-Add-API-to-set-the-xkb-layout-index.patch @@ -0,0 +1,72 @@ +From f95493e7bff650f7c2da4d8bfe50a498cc652ddf Mon Sep 17 00:00:00 2001 +From: Rui Matos +Date: Sun, 6 Jul 2014 17:43:14 +0200 +Subject: [PATCH] evdev: Add API to set the xkb layout index + +https://bugzilla.gnome.org/show_bug.cgi?id=733202 +--- + clutter/evdev/clutter-device-manager-evdev.c | 32 ++++++++++++++++++++++++++++ + clutter/evdev/clutter-evdev.h | 4 ++++ + 2 files changed, 36 insertions(+) + +diff --git a/clutter/evdev/clutter-device-manager-evdev.c b/clutter/evdev/clutter-device-manager-evdev.c +index 51e4550..7b833b5 100644 +--- a/clutter/evdev/clutter-device-manager-evdev.c ++++ b/clutter/evdev/clutter-device-manager-evdev.c +@@ -1847,6 +1847,38 @@ clutter_evdev_get_keyboard_map (ClutterDeviceManager *evdev) + } + + /** ++ * clutter_evdev_set_keyboard_layout_index: (skip) ++ * @evdev: the #ClutterDeviceManager created by the evdev backend ++ * @idx: the xkb layout index to set ++ * ++ * Sets the xkb layout index on the backend's #xkb_state . ++ * ++ * Since: 1.20 ++ * Stability: unstable ++ */ ++void ++clutter_evdev_set_keyboard_layout_index (ClutterDeviceManager *evdev, ++ xkb_layout_index_t idx) ++{ ++ ClutterDeviceManagerEvdev *manager_evdev; ++ xkb_mod_mask_t depressed_mods; ++ xkb_mod_mask_t latched_mods; ++ xkb_mod_mask_t locked_mods; ++ struct xkb_state *state; ++ ++ g_return_val_if_fail (CLUTTER_IS_DEVICE_MANAGER_EVDEV (evdev), NULL); ++ ++ manager_evdev = CLUTTER_DEVICE_MANAGER_EVDEV (evdev); ++ state = manager_evdev->priv->main_seat->xkb; ++ ++ depressed_mods = xkb_state_serialize_mods (state, XKB_STATE_MODS_DEPRESSED); ++ latched_mods = xkb_state_serialize_mods (state, XKB_STATE_MODS_LATCHED); ++ locked_mods = xkb_state_serialize_mods (state, XKB_STATE_MODS_LOCKED); ++ ++ xkb_state_update_mask (state, depressed_mods, latched_mods, locked_mods, 0, 0, idx); ++} ++ ++/** + * clutter_evdev_set_pointer_constrain_callback: + * @evdev: the #ClutterDeviceManager created by the evdev backend + * @callback: the callback +diff --git a/clutter/evdev/clutter-evdev.h b/clutter/evdev/clutter-evdev.h +index d5f9deb..4239139 100644 +--- a/clutter/evdev/clutter-evdev.h ++++ b/clutter/evdev/clutter-evdev.h +@@ -97,6 +97,10 @@ void clutter_evdev_set_keyboard_map (ClutterDeviceManager *evdev + CLUTTER_AVAILABLE_IN_1_18 + struct xkb_keymap * clutter_evdev_get_keyboard_map (ClutterDeviceManager *evdev); + ++CLUTTER_AVAILABLE_IN_1_20 ++void clutter_evdev_set_keyboard_layout_index (ClutterDeviceManager *evdev, ++ xkb_layout_index_t idx); ++ + CLUTTER_AVAILABLE_IN_1_18 + void clutter_evdev_set_keyboard_repeat (ClutterDeviceManager *evdev, + gboolean repeat, +-- +2.1.0 + diff --git a/clutter.spec b/clutter.spec index b377e49..d3ed161 100644 --- a/clutter.spec +++ b/clutter.spec @@ -8,7 +8,7 @@ Name: clutter Version: 1.19.6 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Open Source software library for creating rich graphical user interfaces Group: Development/Libraries @@ -16,6 +16,9 @@ License: LGPLv2+ URL: http://www.clutter-project.org/ Source0: http://download.gnome.org/sources/clutter/1.19/clutter-%{version}.tar.xz +# Backported patch from upstream, needed for mutter 3.13.90 +Patch0: 0001-evdev-Add-API-to-set-the-xkb-layout-index.patch + BuildRequires: glib2-devel mesa-libGL-devel pkgconfig pango-devel BuildRequires: cairo-gobject-devel gdk-pixbuf2-devel atk-devel BuildRequires: cogl-devel >= 1.15.1 @@ -79,6 +82,7 @@ the functionality of the installed clutter package. %prep %setup -q +%patch0 -p1 %build %configure \ @@ -133,6 +137,9 @@ make check %{?_smp_mflags} V=1 %endif %changelog +* Wed Aug 20 2014 Kalev Lember - 1.19.6-3 +- Backport an upstream patch for setting xkb layout index + * Sat Aug 16 2014 Fedora Release Engineering - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild