ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/rt/x11.c
(Generate patch)

Comparing ray/src/rt/x11.c (file contents):
Revision 2.14 by greg, Mon Nov 22 11:33:02 1993 UTC vs.
Revision 2.15 by greg, Fri Sep 9 16:16:06 1994 UTC

# Line 261 | Line 261 | int  xmin, ymin, xmax, ymax;
261   static
262   x11_flush()                     /* flush output */
263   {
264 +        int     n;
265 +        register char   *buf;
266 +
267          XNoOp(ourdisplay);
268          while (XPending(ourdisplay) > 0)
269                  getevent();
270 + #ifdef FIONREAD
271 +        if (ioctl(0, FIONREAD, &n) == 0 && n) {         /* from stdin */
272 +                buf = getcombuf(&x11_driver);
273 +                n = read(0, buf, n);
274 +                buf[n] = '\0';
275 +        }
276 + #endif
277   }
278  
279  
# Line 271 | Line 281 | static
281   x11_comin(inp, prompt)          /* read in a command line */
282   char  *inp, *prompt;
283   {
284 <        if (prompt != NULL)
284 >        if (prompt != NULL) {
285 >                x11_flush();            /* make sure we get everything */
286                  if (fromcombuf(inp, &x11_driver))
287                          return;
288 <                else
289 <                        xt_puts(prompt, comline);
288 >                xt_puts(prompt, comline);
289 >        }
290          xt_cursor(comline, TBLKCURS);
291          editline(inp, x11_getc, x11_comout);
292          xt_cursor(comline, TNOCURS);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines