[clutter/f21] Backport an upstream patch for setting xkb layout index

Kalev Lember kalev at fedoraproject.org
Wed Aug 20 15:32:45 UTC 2014


commit 09fbe649a69d643fe94ae58e98b45a10dbc48a4a
Author: Kalev Lember <kalevlember at gmail.com>
Date:   Wed Aug 20 15:28:34 2014 +0200

    Backport an upstream patch for setting xkb layout index
    
    Needed for mutter 3.13.90.

 ...evdev-Add-API-to-set-the-xkb-layout-index.patch |   72 ++++++++++++++++++++
 clutter.spec                                       |    9 ++-
 2 files changed, 80 insertions(+), 1 deletions(-)
---
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 <tiagomatos at gmail.com>
+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 <kalevlember at gmail.com> - 1.19.6-3
+- Backport an upstream patch for setting xkb layout index
+
 * Sat Aug 16 2014 Fedora Release Engineering <rel-eng at lists.fedoraproject.org>
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
 


More information about the scm-commits mailing list