Remove hoveredTarget reference if object is removed (#3657)

* Remove hoveredTarget reference if object is removed
* Update canvas.js tests
* remove trailing spaces
This commit is contained in:
Andrea Bogazzi 2017-01-28 17:04:11 +01:00 committed by GitHub
parent 9e37f9b3c1
commit a326d1dda2
2 changed files with 11 additions and 0 deletions

View file

@ -1380,6 +1380,9 @@
this.fire('selection:cleared', { target: obj });
obj.fire('deselected');
}
if (this._hoveredTarget === obj) {
this._hoveredTarget = null;
}
this.callSuper('_onObjectRemoved', obj);
},

View file

@ -256,6 +256,14 @@
equal(canvas.isEmpty(), true, 'canvas should be empty');
});
test('remove actual hovered target', function() {
var rect1 = makeRect();
canvas.add(rect1);
canvas._hoveredTarget = rect1;
canvas.remove(rect1);
equal(canvas._hoveredTarget, null, 'reference to hovered target should be removed');
});
test('before:selection:cleared', function() {
var isFired = false;
canvas.on('before:selection:cleared', function() { isFired = true; });