Commit 993d4ab6 authored by Kim F. Storm's avatar Kim F. Storm
Browse files

(update_frame): Check for input pending on entry.

(update_window, update_frame_1): Break loop if input is detected.
parent a3efc408
......@@ -3849,6 +3849,12 @@ update_frame (f, force_p, inhibit_hairy_id_p)
double p = XFLOATINT (Vredisplay_preemption_period);
int sec, usec;
if (detect_input_pending_ignore_squeezables ())
{
paused_p = 1;
goto do_pause;
}
sec = (int) p;
usec = (p - sec) * 1000000;
......@@ -3936,6 +3942,7 @@ update_frame (f, force_p, inhibit_hairy_id_p)
#endif
}
do_pause:
/* Reset flags indicating that a window should be updated. */
set_window_update_flags (root_window, 0);
......@@ -4262,7 +4269,8 @@ update_window (w, force_p)
if (EMACS_TIME_NEG_P (dif))
{
EMACS_ADD_TIME (preemption_next_check, tm, preemption_period);
detect_input_pending_ignore_squeezables ();
if (detect_input_pending_ignore_squeezables ())
break;
}
}
#else
......@@ -5288,7 +5296,8 @@ update_frame_1 (f, force_p, inhibit_id_p)
if (EMACS_TIME_NEG_P (dif))
{
EMACS_ADD_TIME (preemption_next_check, tm, preemption_period);
detect_input_pending_ignore_squeezables ();
if (detect_input_pending_ignore_squeezables ())
break;
}
}
#else
......
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