First, to put this in context I am trying to set a variety of different mouse cursors depending on where and what the mouse pointer is doing.
This one really has me baffled.
I have a some nested Sprites (so they are all EvenDispatcher subclass instances) and when I MOUSE _DOWN on one of the objects at the top of the display list it (spuriously) fires a MOUSE _OVER event on one of its ancestors (lower in the display list).
And here is the really weird part: The MOUSE _OVER listener on the ancestor detects the event in the “AT_TARGET” event phase which -is- should be impossible! (My first thought was that I could neutralize this problem by selectively executing the ancestor’s MOUSE _OVER listener function only if the event was detected in the Bubbling phase, but since it is in the AT_TARGET phase (same as when it gets a genuine MOUSE _OVER event) I can’t use that workaround.
At no time,when this problem happens, is the mouse pointer actually ‘over’ the ancestor on which that MOUSE _OVER listener exists. In fact to observe this error I have to MOUSE _DOWN on the child without moving the mouse at all, otherwise the “wrong” cursor just flickers momentarily (and then corrects itself) because the function that sets the correct cursor on the child object is itself triggered by a MOUSE _OVER listener on the child. (though this is also a bit of a mystery because the mouse never moves out of the child and the “MOUSE_OVER” event on the child should only fire if it moves back into it from outside! It’s behaving almost as though the ‘mouse down’ on the child is opening a ‘hole’ in it, through which its ancestor detects the sudden appearance of the mouse pointer and interprets it as a MOUSE _OVER event, and when the mouse moves again if fires the MOUSE _OVER” event on the child (on which it was already ‘OVER’)!
Anyone else ever encountered this problem? .. Found a solution?



