What you observe Mike is because iziBasic is too fast!
and also because you code nicely and well to take benefit of its speed
Indeed, iziBasic tracks events as they arrive, and in this case, you get 2 events in a row, because a normal human will tick for a few deci-seconds maybe, but your application will catch events much faster!
I had the same issue with NekoCat: when I would open the About box or any other option box, when I ticked on the [Done] button or so, the source code would capture the next event... interpreted as a move food to where the pen is. Quite anoying to always have Neko run in the bottom & left corner and not wanted by the user of course!
So, I have coded something to avoid it, maybe give a look to this sample application to figure it out (I don't even remember so I can give no clue of where to look at without looking at its source code!).
Now, here is how to know that a new menu event has occured:
a=WaitEvent
'this is a menu event
if a=1001 then
q=MenuItem
If q=...
endif
It is explained in the DOEVENTS paragraph in the manual.
Cheers
@+
aldweb