diff --git a/src/svgcanvas/selection.js b/src/svgcanvas/selection.js index cde0396a..fcce43e3 100644 --- a/src/svgcanvas/selection.js +++ b/src/svgcanvas/selection.js @@ -402,7 +402,11 @@ export const setRotationAngle = function (val, preventUndo) { // we need to undo it, then redo it so it can be undo-able! :) // TODO: figure out how to make changes to transform list undo-able cross-browser? const newTransform = elem.getAttribute('transform'); - elem.setAttribute('transform', oldTransform); + if (oldTransform) { + elem.setAttribute('transform', oldTransform); + } else { + elem.removeAttribute('transform'); + } selectionContext_.getCanvas().changeSelectedAttribute('transform', newTransform, selectedElements); selectionContext_.getCanvas().call('changed', selectedElements); } diff --git a/src/svgcanvas/undo.js b/src/svgcanvas/undo.js index 69a59a52..71ed9d26 100644 --- a/src/svgcanvas/undo.js +++ b/src/svgcanvas/undo.js @@ -188,7 +188,11 @@ export const changeSelectedAttributeNoUndoMethod = function (attr, newValue, ele // } } else if (attr === '#href') { setHref(elem, newValue); - } else { elem.setAttribute(attr, newValue); } + } else if (newValue) { + elem.setAttribute(attr, newValue); + } else { + elem.removeAttribute(attr); + } // Go into "select" mode for text changes // NOTE: Important that this happens AFTER elem.setAttribute() or else attributes like