IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
May 14, 2014, 10:33:30 AM (12 years ago)
Author:
eugene
Message:

keep kapa display operations in sync with remote X client; remove unused variables in coordmosaic

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/ipp-20140423/Ohana/src/kapa2/src/EventLoop.c

    r21153 r36750  
    11# include "Ximage.h"
     2# define DEBUG 0
    23
    34/* list events being selected below, all other masks are ignored */
     
    67int LastEvent (Display *display, int type, XEvent *event) {
    78
    8   int found;
     9  int found, Nfound;
    910
    1011  found = FALSE;
     12  Nfound = 0;
    1113  while (XCheckTypedEvent (display, type, event)) {
     14    // If the link is slow, then I should wait a little while for some config events to
     15    // build up (typically, the window is being dragged around, so we get a whole series of
     16    // config events.  the flush / sync time is slow on a slow link, so we should try to wait
     17    // for the config events to stop, but on a timescale deteremined by the flush/sync time
     18    // if (type == ConfigureNotify) fprintf (stderr, "config (%d)\n", Nfound);
     19    Nfound ++;
    1220    found = TRUE;
     21  }
     22  if (DEBUG && found) {
     23    if (type == ConfigureNotify) fprintf (stderr, "config (%d)\n", Nfound);
     24    if (type == CirculateNotify) fprintf (stderr, "circul (%d)\n", Nfound);
     25    if (type == Expose) fprintf (stderr, "expose (%d)\n", Nfound);
     26  }
     27
     28  // if I have a ConfigureNotify event, I should purge all Expose events as well:
     29  if (found && (type == ConfigureNotify)) {
     30    XEvent discard;
     31    while (XCheckTypedEvent (display, Expose, &discard));
    1332  }
    1433  return (found);
     
    3857
    3958    if (XEventsQueued (display, QueuedAfterFlush) < 1) {
    40       /* fprintf (stderr, "."); */
    4159      usleep (50000);
    4260      continue;
    4361    }
    4462
     63    // If I have a config event, I want to also purge all expose events
     64
    4565    /* grab the last entry for these events */
    46     if (LastEvent (display, ConfigureNotify, &event)) Reconfig (&event);
    47     if (LastEvent (display, CirculateNotify, &event)) Reconfig (&event);
    48     if (LastEvent (display, Expose,          &event)) Refresh ();
     66    if (LastEvent (display, ConfigureNotify, &event)) { Reconfig (&event); continue; }
     67    if (LastEvent (display, CirculateNotify, &event)) { Reconfig (&event); continue; }
     68    if (LastEvent (display, Expose,          &event)) { Refresh (); continue; }
    4969    if (LastEvent (display, MappingNotify,   &event)) XRefreshKeyboardMapping ((XMappingEvent *) &event);
    5070    if (LastEvent (display, MotionNotify,    &event)) UpdatePointer (graphic, (XMotionEvent *) &event);
Note: See TracChangeset for help on using the changeset viewer.