fixes #1783 restored clipping for comps for canvas renderer
diff --git a/player/js/elements/canvasElements/CVBaseElement.js b/player/js/elements/canvasElements/CVBaseElement.js
index bd4f5f8..c19d56d 100644
--- a/player/js/elements/canvasElements/CVBaseElement.js
+++ b/player/js/elements/canvasElements/CVBaseElement.js
@@ -39,11 +39,12 @@
this.renderTransform();
this.renderRenderable();
this.setBlendMode();
- this.globalData.renderer.save();
+ var forceRealStack = this.data.ty === 0;
+ this.globalData.renderer.save(forceRealStack);
this.globalData.renderer.ctxTransform(this.finalTransform.mat.props);
this.globalData.renderer.ctxOpacity(this.finalTransform.mProp.o.v);
this.renderInnerContent();
- this.globalData.renderer.restore();
+ this.globalData.renderer.restore(forceRealStack);
if(this.maskManager.hasMasks) {
this.globalData.renderer.restore(true);
}
diff --git a/player/js/elements/canvasElements/CVCompElement.js b/player/js/elements/canvasElements/CVCompElement.js
index 5a7e1c0..704f6d6 100644
--- a/player/js/elements/canvasElements/CVCompElement.js
+++ b/player/js/elements/canvasElements/CVCompElement.js
@@ -10,6 +10,14 @@
extendPrototype([CanvasRenderer, ICompElement, CVBaseElement], CVCompElement);
CVCompElement.prototype.renderInnerContent = function() {
+ var ctx = this.canvasContext;
+ ctx.beginPath();
+ ctx.moveTo(0, 0);
+ ctx.lineTo(this.data.w, 0);
+ ctx.lineTo(this.data.w, this.data.h);
+ ctx.lineTo(0, this.data.h);
+ ctx.lineTo(0, 0);
+ ctx.clip();
var i,len = this.layers.length;
for( i = len - 1; i >= 0; i -= 1 ){
if(this.completeLayers || this.elements[i]){