Goofy button behavior

Dave Cragg dcragg at lacscentre.co.uk
Mon Mar 10 05:42:01 EST 2003


At 2:34 pm -0500 9/3/03, Ken Norris wrote:

>>  I guess the group's background behavior is set to true. So if an
>>  event (mouseUp for example) is not handled in the button, it will be
>>  passed to the group (background).
>----------
>Why? The button does NOT belong to a group at all.

No, but your group is a background and is now in the message path.

control - card - background - stack

So if an ungrouped button doesn't have a mouseUp handler, and you 
click on the button, the mouseUp message will get sent first to the 
card, and then the background.

>  I don't think a non-grouped object
>should execute a group handler at all.

But when you set the backgroundbehavior, the group's script is also 
the background script. I don't think it's wonky that a background 
script should catch unhandled messages from controls on the card.

What might seem wonky (unintuitive anyway) is that the same mechanism 
is used to create groups, backgrounds and objects shared by multiple 
cards. On the other hand, it could be seen as a super-efficient use 
of the group object. (I think we have this debate every six month or 
so.)

>I think something is wrong here, and
>I'd like to find out what it is.

Sounds like a job for Inspector Clouseau. :)

Cheers
Dave



More information about the use-livecode mailing list