summaryrefslogtreecommitdiff
path: root/libxklavier/xklavier_util.c
diff options
context:
space:
mode:
Diffstat (limited to 'libxklavier/xklavier_util.c')
-rw-r--r--libxklavier/xklavier_util.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/libxklavier/xklavier_util.c b/libxklavier/xklavier_util.c
index 578f408..0891726 100644
--- a/libxklavier/xklavier_util.c
+++ b/libxklavier/xklavier_util.c
@@ -27,6 +27,20 @@
#include "xklavier_private.h"
XklState *
+_xkl_state_copy(XklState * state)
+{
+ XklState * copy;
+
+ copy = g_new(XklState, 1);
+ copy->group = state->group;
+ copy->indicators = state->indicators;
+
+ return copy;
+}
+
+G_DEFINE_BOXED_TYPE (XklState, xkl_state, _xkl_state_copy, g_free);
+
+XklState *
xkl_engine_get_current_state(XklEngine * engine)
{
return &xkl_engine_priv(engine, curr_state);