[Libreoffice-commits] core.git: filter/source

Marco Cecchetti marco.cecchetti at collabora.com
Fri Jul 1 09:54:23 UTC 2016


 filter/source/svg/presentation_engine.js |    8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

New commits:
commit 546c3469af49e4b21fcefd719e93437e4de14485
Author: Marco Cecchetti <marco.cecchetti at collabora.com>
Date:   Thu Jun 23 15:21:58 2016 +0200

    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 at gmail.com>
    Tested-by: Marco Cecchetti <mrcekets at gmail.com>

diff --git a/filter/source/svg/presentation_engine.js b/filter/source/svg/presentation_engine.js
index 713ce78..7dd7d14 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;
                 }
             }
         }


More information about the Libreoffice-commits mailing list