]> Dogcows Code - chaz/openbox/blobdiff - obt/keyboard.c
Propagate _NET_WM_WINDOW_OPACITY to the frame window (bug #5132)
[chaz/openbox] / obt / keyboard.c
index 30aa7f9366ea8abffe468183337624809f877abc..8bfdd39b7f79046daa5d8a326803cbe9bfa25293 100644 (file)
@@ -147,7 +147,6 @@ void xim_init(void)
     if (g_ascii_islower(aclass[0]))
         aclass[0] = g_ascii_toupper(aclass[0]);
 
-    g_print("Opening Input Method for %s %s\n", aname, aclass);
     xim = XOpenIM(obt_display, NULL, aname, aclass);
 
     if (!xim)
@@ -209,9 +208,9 @@ ObtModkeysKey obt_keyboard_keyevent_to_modkey(XEvent *e)
     case XK_Super_L:
     case XK_Super_R: return OBT_KEYBOARD_MODKEY_SUPER;
     case XK_Hyper_L:
-    case XK_Hyper_R: return OBT_KEYBOARD_MODKEY_SUPER;
+    case XK_Hyper_R: return OBT_KEYBOARD_MODKEY_HYPER;
     case XK_Meta_L:
-    case XK_Meta_R: return OBT_KEYBOARD_MODKEY_SUPER;
+    case XK_Meta_R: return OBT_KEYBOARD_MODKEY_META;
     case XK_Control_L:
     case XK_Control_R: return OBT_KEYBOARD_MODKEY_CONTROL;
     case XK_Shift_L:
@@ -300,7 +299,7 @@ KeyCode* obt_keyboard_keysym_to_keycode(KeySym sym)
     for (i = min_keycode; i <= max_keycode; ++i)
         for (j = 0; j < keysyms_per_keycode; ++j)
             if (sym == keymap[(i-min_keycode) * keysyms_per_keycode + j]) {
-                ret = g_renew(KeyCode, ret, ++n);
+                ret = g_renew(KeyCode, ret, ++n + 1);
                 ret[n-1] = i;
                 ret[n] = 0;
             }
@@ -440,7 +439,8 @@ void obt_keyboard_context_unref(ObtIC *ic)
 {
     if (--ic->ref < 1) {
         xic_all = g_slist_remove(xic_all, ic);
-        XDestroyIC(ic->xic);
+        if (ic->xic)
+            XDestroyIC(ic->xic);
         g_slice_free(ObtIC, ic);
     }
 }
This page took 0.021629 seconds and 4 git commands to generate.