Commit 1b9635dfb51f78783d6c11d10773b998236d4ce8

Ran Benita 2012-04-08T02:08:37

Add xkb_state_get_map() This is very useful because it avoids redundent pointers in structs and/or parameter passing in the application. Signed-off-by: Ran Benita <ran234@gmail.com>

diff --git a/include/xkbcommon/xkbcommon.h b/include/xkbcommon/xkbcommon.h
index 185d11b..4eeaaca 100644
--- a/include/xkbcommon/xkbcommon.h
+++ b/include/xkbcommon/xkbcommon.h
@@ -423,6 +423,12 @@ xkb_state_ref(struct xkb_state *state);
 void
 xkb_state_unref(struct xkb_state *state);
 
+/**
+ * Get the keymap from which the state object was created.
+ */
+struct xkb_keymap *
+xkb_state_get_map(struct xkb_state *state);
+
 enum xkb_key_direction {
     XKB_KEY_UP,
     XKB_KEY_DOWN,
diff --git a/src/state.c b/src/state.c
index 45820b6..8394050 100644
--- a/src/state.c
+++ b/src/state.c
@@ -494,6 +494,12 @@ xkb_state_unref(struct xkb_state *state)
     free(state);
 }
 
+_X_EXPORT struct xkb_keymap *
+xkb_state_get_map(struct xkb_state *state)
+{
+    return state->xkb;
+}
+
 /**
  * Update the LED state to match the rest of the xkb_state.
  */