Commit 617364fe authored by Chong Yidong's avatar Chong Yidong

* xterm.c (event_handler_gdk): Block input (Bug#5037).

parent 82b52e0d
2010-01-16 Stefan Monnier <monnier@iro.umontreal.ca>
* xterm.c (event_handler_gdk): Block input (Bug#5037).
2010-01-16 Chong Yidong <cyd@stupidchicken.com>
* emacs.c (standard_args): Adjust arg priorities to reflect how
......
......@@ -5797,6 +5797,7 @@ event_handler_gdk (gxev, ev, data)
{
XEvent *xev = (XEvent *) gxev;
BLOCK_INPUT;
if (current_count >= 0)
{
struct x_display_info *dpyinfo;
......@@ -5807,23 +5808,27 @@ event_handler_gdk (gxev, ev, data)
/* Filter events for the current X input method.
GTK calls XFilterEvent but not for key press and release,
so we do it here. */
if (xev->type == KeyPress || xev->type == KeyRelease)
if (dpyinfo && x_filter_event (dpyinfo, xev))
return GDK_FILTER_REMOVE;
if ((xev->type == KeyPress || xev->type == KeyRelease)
&& dpyinfo
&& x_filter_event (dpyinfo, xev))
{
UNBLOCK_INPUT;
return GDK_FILTER_REMOVE;
}
#endif
if (! dpyinfo)
current_finish = X_EVENT_NORMAL;
else
{
current_count +=
handle_one_xevent (dpyinfo, xev, &current_finish,
current_hold_quit);
}
current_count +=
handle_one_xevent (dpyinfo, xev, &current_finish,
current_hold_quit);
}
else
current_finish = x_dispatch_event (xev, xev->xany.display);
UNBLOCK_INPUT;
if (current_finish == X_EVENT_GOTO_OUT || current_finish == X_EVENT_DROP)
return GDK_FILTER_REMOVE;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment