magic. Our X core protocol stuff won't work, so we use this to
find what the modifier state is instead. */
if (XkbGetState(ob_display, XkbUseCoreKbd, &xkb_state) == Success)
- e->xkey.state = xkb_state.compat_state;
+ e->xkey.state =
+ modkeys_only_modifier_masks(xkb_state.compat_state);
else
#endif
{
else if (e->xclient.data.l[0] == 3)
ob_exit(0);
} else if (msgtype == prop_atoms.wm_protocols) {
- if (e->xclient.data.l[0] == prop_atoms.net_wm_ping)
+ if ((Atom)e->xclient.data.l[0] == prop_atoms.net_wm_ping)
ping_got_pong(e->xclient.data.l[1]);
}
break;
gulong event_start_ignore_all_enters(void)
{
- XSync(ob_display, FALSE);
- return LastKnownRequestProcessed(ob_display);
+ return NextRequest(ob_display);
}
static void event_ignore_enter_range(gulong start, gulong end)
r->start, r->end);
/* increment the serial so we don't ignore events we weren't meant to */
- XSync(ob_display, FALSE);
+ PROP_ERASE(screen_support_win, motif_wm_hints);
}
void event_end_ignore_all_enters(gulong start)
{
- XSync(ob_display, FALSE);
- event_ignore_enter_range(start, LastKnownRequestProcessed(ob_display));
+ event_ignore_enter_range(start, NextRequest(ob_display));
}
static gboolean is_enter_focus_event_ignored(XEvent *e)