]> Dogcows Code - chaz/openbox/blobdiff - openbox/translate.c
don't force fake enter events while there is a grab on the pointer. this fixes focus...
[chaz/openbox] / openbox / translate.c
index 5b2b4ebee056ff60d3ffd6580dfa74a7d4db5303..c697679d1291fd03da7f0837f384ac1475f8e11f 100644 (file)
@@ -20,6 +20,7 @@
 #include "openbox.h"
 #include "mouse.h"
 #include "modkeys.h"
+#include "translate.h"
 #include "gettext.h"
 #include <glib.h>
 #include <string.h>
@@ -111,6 +112,8 @@ gboolean translate_key(const gchar *str, guint *state, guint *keycode)
 
     parsed = g_strsplit(str, "-", -1);
 
+    *state = *keycode = 0;
+
     /* first, find the key (last token) */
     l = NULL;
     for (i = 0; parsed[i] != NULL; ++i)
@@ -156,7 +159,7 @@ translation_fail:
     return ret;
 }
 
-const gchar *translate_keycode(guint keycode)
+gchar *translate_keycode(guint keycode)
 {
     KeySym sym;
     const gchar *ret = NULL;
@@ -170,7 +173,7 @@ gunichar translate_unichar(guint keycode)
 {
     gunichar unikey = 0;
 
-    const char *key;
+    char *key;
     if ((key = translate_keycode(keycode)) != NULL &&
         /* don't accept keys that aren't a single letter, like "space" */
         key[1] == '\0')
@@ -179,5 +182,6 @@ gunichar translate_unichar(guint keycode)
         if (unikey == (gunichar)-1 || unikey == (gunichar)-2 || unikey == 0)
             unikey = 0;
     }
+    g_free(key);
     return unikey;
 }
This page took 0.025712 seconds and 4 git commands to generate.