summaryrefslogtreecommitdiff
path: root/mac/src
diff options
context:
space:
mode:
authorAndrew Choi <akochoi@shaw.ca>2001-09-04 05:45:39 +0000
committerAndrew Choi <akochoi@shaw.ca>2001-09-04 05:45:39 +0000
commit1305f1a7f48d3b3a0234bf4cdd0e24caa888d7d4 (patch)
treea0a1136745eb18574eedfbf92883caf3193bf9c6 /mac/src
parent9f1821c7df1c7fae53a6cf24525b4b370265d801 (diff)
downloademacs-1305f1a7f48d3b3a0234bf4cdd0e24caa888d7d4.tar.gz
2001-09-04 Andrew Choi <akochoi@cse.cuhk.edu.hk>
* src/macterm.c (XTread_socket): Read all pending events in the event queue instead of one.
Diffstat (limited to 'mac/src')
-rw-r--r--mac/src/macterm.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/mac/src/macterm.c b/mac/src/macterm.c
index 1a0544920ac..db7b50884bb 100644
--- a/mac/src/macterm.c
+++ b/mac/src/macterm.c
@@ -11356,7 +11356,7 @@ do_os_event (EventRecord *erp)
do_app_suspend ();
break;
- case mouseMovedMessage:
+ case mouseMovedMessage: /* never reached */
do_mouse_moved (erp->where);
break;
}
@@ -11826,7 +11826,7 @@ XTread_socket (int sd, struct input_event *bufp, int numchars, int expected)
if (NILP (Fboundp (Qmac_ready_for_drag_n_drop)))
event_mask -= highLevelEventMask;
- if (WaitNextEvent (event_mask, &er, (expected ? app_sleep_time : 0L), NULL))
+ while (WaitNextEvent (event_mask, &er, 0L, NULL) && numchars > 0)
switch (er.what)
{
case mouseDown:
@@ -11859,6 +11859,8 @@ XTread_socket (int sd, struct input_event *bufp, int numchars, int expected)
mouse_tracking_in_progress = mouse_tracking_none;
tracked_scroll_bar = NULL;
count++;
+ bufp++;
+ numchars--;
break;
}
@@ -11874,6 +11876,8 @@ XTread_socket (int sd, struct input_event *bufp, int numchars, int expected)
bufp->kind = menu_bar_activate_event;
XSETFRAME (bufp->frame_or_window, f);
count++;
+ bufp++;
+ numchars--;
}
break;
@@ -11938,6 +11942,8 @@ XTread_socket (int sd, struct input_event *bufp, int numchars, int expected)
}
count++;
+ bufp++;
+ numchars--;
}
break;
@@ -11952,6 +11958,8 @@ XTread_socket (int sd, struct input_event *bufp, int numchars, int expected)
XSETFRAME (bufp->frame_or_window,
((mac_output *) GetWRefCon (window_ptr))->mFP);
count++;
+ bufp++;
+ numchars--;
}
break;
@@ -12088,6 +12096,8 @@ XTread_socket (int sd, struct input_event *bufp, int numchars, int expected)
bufp->timestamp = er.when * (1000 / 60); /* ticks to milliseconds */
count++;
+ bufp++;
+ numchars--;
break;
case kHighLevelEvent:
@@ -12129,6 +12139,8 @@ XTread_socket (int sd, struct input_event *bufp, int numchars, int expected)
InvalRect (&(wp->portRect));
count++;
+ bufp++;
+ numchars--;
}
default: