fred@hpcvlx.HP.COM (Fred Taft) (10/29/88)
Between the R2 and R3 intrinsics I have noticed a different behavior in the way button and key events are being dispatched to a spring loaded widget. Under the R2 toolkit, if a button event was received, and the grab list was empty, the event was ONLY dispatched to the widget the event occurred in; if this widget, as a result of processing the event, added an exclusive, spring loaded widget to the grab list, the event was not then dispatched to the new spring loaded widget. Under the R3 toolkit, this behavior has changed. Now, after dispatching to the original widget, the toolkit also looks to see if there are any exclusive spring loaded widgets, and dispatches to them. Since the original widget added an exclusive spring loaded widget to the grab list, it also gets the opportunity to process the event. Was this new behavior intended, or did it sneak in accidentally? It not only has the potential of breaking certain types of widgets, but it also can break applications!
swick@ATHENA.MIT.EDU (Ralph R. Swick) (11/01/88)
My reply to Fred's original posting to the Consortium mailing list: To: Fred Taft <fred%hpcvxft@sde.hp.com> Subject: Re: Dispatching events to spring loaded widgets In-Reply-To: Your message of Fri, 28 Oct 88 13:11:59 -0700. <8810282012.AA00318@hpcvxft.HP.COM> Organization: DEC/MIT Project Athena Date: Fri, 28 Oct 88 17:52:37 EDT From: Ralph R. Swick <swick@ATHENA.MIT.EDU> The spec is not explicit on whether or not any of the routines that affect the dispatching of events will have an impact on the _current_ event. In the case you cite (registering a spring-loaded grab), it seems very unlikely to me that the application would want the current event dispatched to the new widget, and if it does then it should probably re-dispatch it explicitly. I suspect the modified behavior is therefore an oversight, but I invite alternate opinions.