X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Factions%2Fcyclewindows.c;h=6d852fdf8418ceafa65cc1cd06595e1f8d103074;hb=b7ddaa5728b5449449e3ea14cf84252285bbc794;hp=6619b387165b896bca51cde2e0000eaa7ffdfb75;hpb=43d62990e407f409f76f60a405c529f9b15d33f6;p=chaz%2Fopenbox diff --git a/openbox/actions/cyclewindows.c b/openbox/actions/cyclewindows.c index 6619b387..6d852fdf 100644 --- a/openbox/actions/cyclewindows.c +++ b/openbox/actions/cyclewindows.c @@ -43,6 +43,7 @@ static void free_func(gpointer options); static gboolean run_func(ObActionsData *data, gpointer options); static gboolean i_input_func(guint initial_state, XEvent *e, + ObtIC *ic, gpointer options, gboolean *used); static void i_cancel_func(gpointer options); @@ -64,7 +65,7 @@ static gpointer setup_func(xmlNodePtr node, xmlNodePtr n; Options *o; - o = g_new0(Options, 1); + o = g_slice_new0(Options); o->bar = TRUE; o->dialog_mode = OB_FOCUS_CYCLE_POPUP_MODE_LIST; @@ -143,7 +144,7 @@ static void free_func(gpointer options) o->actions = g_slist_delete_link(o->actions, o->actions); } - g_free(o); + g_slice_free(Options, o); } static gboolean run_func(ObActionsData *data, gpointer options) @@ -169,6 +170,7 @@ static gboolean run_func(ObActionsData *data, gpointer options) static gboolean i_input_func(guint initial_state, XEvent *e, + ObtIC *ic, gpointer options, gboolean *used) { @@ -179,21 +181,21 @@ static gboolean i_input_func(guint initial_state, if (e->type == KeyRelease) { /* remove from the state the mask of the modifier key being released, if it is a modifier key being released that is */ - mods &= ~obt_keyboard_keycode_to_modmask(e->xkey.keycode); + mods &= ~obt_keyboard_keyevent_to_modmask(e); } if (e->type == KeyPress) { + KeySym sym = obt_keyboard_keypress_to_keysym(e); + /* Escape cancels no matter what */ - if (ob_keycode_match(e->xkey.keycode, OB_KEY_ESCAPE)) { + if (sym == XK_Escape) { o->cancel = TRUE; o->state = e->xkey.state; return FALSE; } /* There were no modifiers and they pressed enter */ - else if (ob_keycode_match(e->xkey.keycode, OB_KEY_RETURN) && - !initial_state) - { + else if (sym == XK_Return && !initial_state) { o->cancel = FALSE; o->state = e->xkey.state; return FALSE;