Path: utzoo!attcan!uunet!ginosko!gem.mps.ohio-state.edu!tut.cis.ohio-state.edu!bloom-beacon!P776-2S.HAC.COM!rjohn From: rjohn@P776-2S.HAC.COM (Richard Johnson) Newsgroups: comp.windows.x Subject: X intrinsics bug Message-ID: <8907202235.AA29455@p776-2s.hac.com> Date: 20 Jul 89 22:35:56 GMT Sender: daemon@bloom-beacon.MIT.EDU Organization: The Internet Lines: 40 Please forward this bug report to the folks at MIT, etc. If there are no displays (x server connections) made from an application then the X intrinsics will not perform callback services on "other" input sources (ones set up with XtAppAddInput or XtAppAddTimeOut). "Other" input is given a chance along with all the x server connections in a round robin fashion but only if there is at least one x server connection. the following change was made to lib/Xt/NextEvent.c:XtAppNextEvent to fix this problem: 561,569c561,571 < for (i = 1; i <= app->count; i++) { < d = (i + app->last) % app->count; < if (d == 0) DoOtherSources(app); < if (XEventsQueued(app->list[d], QueuedAfterFlush) > 0) { < XNextEvent(app->list[d], event); < app->last = d; < if (event->xany.type == MappingNotify) < _RefreshMapping(event); < return; --- > if (app->count > 0) { > for (i = 1; i <= app->count; i++) { > d = (i + app->last) % app->count; > if (d == 0) DoOtherSources(app); > if (XEventsQueued(app->list[d], QueuedAfterFlush) > 0) { > XNextEvent(app->list[d], event); > app->last = d; > if (event->xany.type == MappingNotify) > _RefreshMapping(event); > return; > } 571a574,577 > else { > DoOtherSources(app); > } >