X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Factions%2Fcyclewindows.c;h=a64d225694910b1f560a99eeeb03bc7b2803cc82;hb=ad5b92588fbe36100cdc4ae7064883cd16e13a1e;hp=5f0db27cb5173c0f6e09a9a9e944e428548bb945;hpb=58f666a2a5111a16cbb1b416852e90c4c79f6671;p=chaz%2Fopenbox diff --git a/openbox/actions/cyclewindows.c b/openbox/actions/cyclewindows.c index 5f0db27c..a64d2256 100644 --- a/openbox/actions/cyclewindows.c +++ b/openbox/actions/cyclewindows.c @@ -181,8 +181,9 @@ static gboolean i_input_func(guint initial_state, gboolean *used) { Options *o = options; - guint mods; + guint mods, initial_mods; + initial_mods = obt_keyboard_only_modmasks(initial_state); mods = obt_keyboard_only_modmasks(e->xkey.state); if (e->type == KeyRelease) { /* remove from the state the mask of the modifier key being @@ -201,14 +202,14 @@ static gboolean i_input_func(guint initial_state, } /* There were no modifiers and they pressed enter */ - else if ((sym == XK_Return || sym == XK_KP_Enter) && !initial_state) { + else if ((sym == XK_Return || sym == XK_KP_Enter) && !initial_mods) { o->cancel = FALSE; o->state = e->xkey.state; return FALSE; } } /* They released the modifiers */ - else if (e->type == KeyRelease && initial_state && !(mods & initial_state)) + else if (e->type == KeyRelease && initial_mods && !(mods & initial_mods)) { o->cancel = FALSE; o->state = e->xkey.state;