diff options
author | Marco Cecchetti <marco.cecchetti@collabora.com> | 2016-06-23 15:21:58 +0200 |
---|---|---|
committer | Marco Cecchetti <marco.cecchetti@collabora.com> | 2016-07-01 11:08:08 +0200 |
commit | 86e78d5f8761149d408d1b7c090c8f0220d4ed8f (patch) | |
tree | 6d3cce3ef5c77df2ab9c16d432b1d117b60c473c /filter | |
parent | 02cded2b8f8831e47ce0bc6d6a0967cde264a0bc (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.js | 8 |
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; } } } |