summaryrefslogtreecommitdiff
path: root/filter
diff options
context:
space:
mode:
authorMarco Cecchetti <marco.cecchetti@collabora.com>2016-06-23 15:21:58 +0200
committerMarco Cecchetti <mrcekets@gmail.com>2016-07-01 09:53:44 +0000
commit546c3469af49e4b21fcefd719e93437e4de14485 (patch)
tree8d2e772123f8683f2f4bd79ee455c09b3dbbf59f /filter
parent232541ef2504fc58691eefc2f15f85eacda25075 (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.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;
}
}
}