On Oct 22, 2008, at 1:44 AM, antonio wrote:
at v4, etoys mode:
- create an instance, of ellipse for example,
- create a script with the order (cat. miscellaneous) do menu
item_adhere to edge...
- run the script then (and not before) appear the menu with options (bottom,
left...) but you never more can clear of it.
Indeed.
"Do menu item" offers the opportunity to execute any menu item contained in an object's "halo menu" programatically.
Most menu items are fine to use this way, even in a ticking script, because they simply execute. But some menu items result in a secondary prompt or menu being put up, and when invoking such a menu item in a continuously-running (ticking) script, the follow-on prompt or menu will continuously be put up, so that your user will always be in a state of needing to respond to the prompt or menu, thus denying her the chance to do anything else interactively.
So... There are various ways in etoys that you can "hose yourself", particularly through injudicious use of a ticking script. This is a good example.
We could, case by case, try to reduce the number of such danger points, but I don't think we can altogether eliminate them without unacceptably limiting the expressive power of the system. (e.g. in this example, there's no problem at all unless/until the user chooses to set the script to "ticking"...)
One proposal (from Yoshiki) to reduce the chance of abuse of "do menu item" is not to offer "do menu item" in the viewer unless the eToyFriendly flag is turned off. What do people think of that idea?
Cheers,
-- Scott