diff options
author | Andrew Choi <akochoi@shaw.ca> | 2001-09-04 05:45:39 +0000 |
---|---|---|
committer | Andrew Choi <akochoi@shaw.ca> | 2001-09-04 05:45:39 +0000 |
commit | 1305f1a7f48d3b3a0234bf4cdd0e24caa888d7d4 (patch) | |
tree | a0a1136745eb18574eedfbf92883caf3193bf9c6 /mac/src | |
parent | 9f1821c7df1c7fae53a6cf24525b4b370265d801 (diff) | |
download | emacs-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.c | 16 |
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: |