Commit 96720f09 authored by Steven Tamm's avatar Steven Tamm
Browse files

* macterm.c (mac_check_for_quit_char): Correctly set the

	modifiers of the event to 0.
	* mac.c (sys_select): Duplicate rfds before calling select to
	ensure that rfds survive the while loop.
parent 2bfe1b7a
2002-12-12 Steven Tamm <steventamm@mac.com>
* macterm.c (mac_check_for_quit_char): Correctly set the
modifiers of the event to 0.
* mac.c (sys_select): Duplicate rfds before calling select to
ensure that rfds survive the while loop.
2002-12-11 Kim F. Storm <storm@cua.dk>
* xdisp.c (try_window_id): Don't call set_cursor_from_row if
......
......@@ -2776,7 +2776,7 @@ sys_select (n, rfds, wfds, efds, timeout)
else
{
EMACS_TIME end_time, now;
EMACS_GET_TIME (end_time);
if (timeout)
EMACS_ADD_TIME (end_time, end_time, *timeout);
......@@ -2785,6 +2785,13 @@ sys_select (n, rfds, wfds, efds, timeout)
{
int r;
EMACS_TIME one_second;
SELECT_TYPE orfds;
FD_ZERO (&orfds);
if (rfds)
{
orfds = *rfds;
}
EMACS_SET_SECS (one_second, 1);
EMACS_SET_USECS (one_second, 0);
......@@ -2792,9 +2799,12 @@ sys_select (n, rfds, wfds, efds, timeout)
if (timeout && EMACS_TIME_LT(*timeout, one_second))
one_second = *timeout;
if ((r = select (n, rfds, wfds, efds, &one_second)) > 0)
return r;
if ((r = select (n, &orfds, wfds, efds, &one_second)) > 0)
{
*rfds = orfds;
return r;
}
mac_check_for_quit_char();
EMACS_GET_TIME (now);
......
......@@ -13561,6 +13561,8 @@ mac_check_for_quit_char()
/* Use an input_event to emulate what the interrupt handler does. */
e.kind = ASCII_KEYSTROKE_EVENT;
e.code = quit_char;
e.arg = NULL;
e.modifiers = NULL;
e.timestamp = EventTimeToTicks(GetEventTime(event))*(1000/60);
XSETFRAME(e.frame_or_window, mwp->mFP);
/* Remove event from queue to prevent looping. */
......
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