diff options
author | Marco Cecchetti <marco.cecchetti@collabora.com> | 2016-06-23 15:21:58 +0200 |
---|---|---|
committer | Marco Cecchetti <mrcekets@gmail.com> | 2016-07-01 09:53:44 +0000 |
commit | 546c3469af49e4b21fcefd719e93437e4de14485 (patch) | |
tree | 8d2e772123f8683f2f4bd79ee455c09b3dbbf59f /filter | |
parent | 232541ef2504fc58691eefc2f15f85eacda25075 (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: I31896cf29d18e64ff44d7d4bcdc60392ac1c1ec3
Reviewed-on: https://gerrit.libreoffice.org/26838
Reviewed-by: Marco Cecchetti <mrcekets@gmail.com>
Tested-by: Marco Cecchetti <mrcekets@gmail.com>
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; } } } |