summaryrefslogtreecommitdiff
path: root/filter
diff options
context:
space:
mode:
authorMarco Cecchetti <marco.cecchetti@collabora.com>2016-06-23 15:21:58 +0200
committerMarco Cecchetti <marco.cecchetti@collabora.com>2016-07-01 11:08:08 +0200
commit86e78d5f8761149d408d1b7c090c8f0220d4ed8f (patch)
tree6d3cce3ef5c77df2ab9c16d432b1d117b60c473c /filter
parent02cded2b8f8831e47ce0bc6d6a0967cde264a0bc (diff)
bccu#1910 - better handling of not supported animation nodes.
Earlier, when a not supported animation node was hit all effects in the same slide was ignored since the whole animation tree was invalidated. This patch tries to minimize the impact of this issue by removing only all children nodes of the direct parent container of the not supported animation node. Change-Id: I6ff55292f56939a9280c004b026260fe73626aeb
Diffstat (limited to 'filter')
-rw-r--r--filter/source/svg/presentation_engine.js8
1 files changed, 7 insertions, 1 deletions
diff --git a/filter/source/svg/presentation_engine.js b/filter/source/svg/presentation_engine.js
index 713ce78e55f6..7dd7d14288c6 100644
--- a/filter/source/svg/presentation_engine.js
+++ b/filter/source/svg/presentation_engine.js
@@ -6196,6 +6196,11 @@ BaseContainerNode.prototype.appendChildNode = function( aAnimationNode )
this.aChildrenArray.push( aAnimationNode );
};
+BaseContainerNode.prototype.removeAllChildrenNodes = function()
+{
+ this.aChildrenArray = [];
+};
+
BaseContainerNode.prototype.init_st = function()
{
this.nLeftIterations = this.getRepeatCount();
@@ -7216,7 +7221,8 @@ function createAnimationNode( aElement, aParentNode, aNodeContext )
{
if( !createChildNode( aChildrenArray[i], aCreatedContainer, aNodeContext ) )
{
- return null;
+ aCreatedContainer.removeAllChildrenNodes();
+ break;
}
}
}