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:
{
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);
}
}