diff --git a/lib/svgo.js b/lib/svgo.js old mode 100644 new mode 100755 index 8331d8143..c91cfb89a --- a/lib/svgo.js +++ b/lib/svgo.js @@ -38,6 +38,7 @@ SVGO.prototype.optimize = function(svgstr, info) { return; } + info.multipassCount = counter; if (++counter < maxPassCount && svgjs.data.length < prevResultSize) { prevResultSize = svgjs.data.length; this._optimizeOnce(svgjs.data, info, optimizeOnceCallback); diff --git a/plugins/prefixIds.js b/plugins/prefixIds.js old mode 100644 new mode 100755 index d81fd0cc1..2222e7eb6 --- a/plugins/prefixIds.js +++ b/plugins/prefixIds.js @@ -125,6 +125,11 @@ var addPrefixToUrlAttr = function(attr) { */ exports.fn = function(node, opts, extra) { + // skip subsequent passes when multipass is used + if(extra.multipassCount && extra.multipassCount > 0) { + return node; + } + // prefix, from file name or option var prefix = 'prefix'; if (opts.prefix) {