awayfl / playerglobal

Apache License 2.0
7 stars 2 forks source link

MOUSE_MOVE + updateAfterEvent #11

Closed eXponenta closed 4 years ago

eXponenta commented 4 years ago

Description Calling updatedAfterEvent inside MOUSE MOVE event produce event dispatching hell (infinite recursion of events), that produce max call stack exception

Test

import flash.display.Sprite;
import flash.display.Graphics;
import flash.display.MovieClip;
import flash.events.MouseEvent;

var obj: Sprite = new Sprite();
obj.graphics.beginFill(0, 1);
obj.graphics.drawCircle(0,0, 10);
addChild(obj);
//var stage = this.stage;

stage.addEventListener(MouseEvent.MOUSE_MOVE, function(e: MouseEvent) {
                      obj.x = stage.mouseX;
                      obj.y = stage.mouseY;
                      e.updateAfterEvent();
})

Platform

eXponenta commented 4 years ago

https://github.com/awayfl/swf-loader/commit/2a378f3fe139b2000792e2a1ff9627af595e1092