* nsterm.m (hold_event): Set send_appdefined to YES.
(ns_select): Return at once if events are held (Bug#12834).
This commit is contained in:
@@ -1,3 +1,8 @@
|
||||
2012-11-17 Jan Djärv <jan.h.d@swipnet.se>
|
||||
|
||||
* nsterm.m (hold_event): Set send_appdefined to YES (Bug#12834).
|
||||
(ns_select): Return at once if events are held (Bug#12834).
|
||||
|
||||
2012-11-16 enami tsugutomo <tsugutomo.enami@jp.sony.com>
|
||||
|
||||
* unexelf.c (ELFSIZE) [__NetBSD__ && _LP64]: Set to 64.
|
||||
|
||||
@@ -314,6 +314,7 @@ hold_event (struct input_event *event)
|
||||
hold_event_q.q[hold_event_q.nr++] = *event;
|
||||
/* Make sure ns_read_socket is called, i.e. we have input. */
|
||||
kill (0, SIGIO);
|
||||
send_appdefined = YES;
|
||||
}
|
||||
|
||||
static Lisp_Object
|
||||
@@ -3445,6 +3446,14 @@ ns_select (int nfds, fd_set *readfds, fd_set *writefds,
|
||||
|
||||
/* NSTRACE (ns_select); */
|
||||
|
||||
if (hold_event_q.nr > 0)
|
||||
{
|
||||
/* We already have events pending. */
|
||||
kill (0, SIGIO);
|
||||
errno = EINTR;
|
||||
return -1;
|
||||
}
|
||||
|
||||
for (k = 0; k < nfds+1; k++)
|
||||
{
|
||||
if (readfds && FD_ISSET(k, readfds)) ++nr;
|
||||
|
||||
Reference in New Issue
Block a user