Check for null when undoing history actions

This commit is contained in:
Nick O'Leary 2014-08-20 17:05:01 +01:00
parent 44a51e849d
commit 47b4ebc92f
1 changed files with 30 additions and 16 deletions

View File

@ -34,26 +34,38 @@ RED.history = (function() {
var i;
if (ev) {
if (ev.t == 'add') {
for (i=0;i<ev.nodes.length;i++) {
RED.nodes.remove(ev.nodes[i]);
if (ev.nodes) {
for (i=0;i<ev.nodes.length;i++) {
RED.nodes.remove(ev.nodes[i]);
}
}
for (i=0;i<ev.links.length;i++) {
RED.nodes.removeLink(ev.links[i]);
if (ev.links) {
for (i=0;i<ev.links.length;i++) {
RED.nodes.removeLink(ev.links[i]);
}
}
for (i=0;i<ev.workspaces.length;i++) {
RED.nodes.removeWorkspace(ev.workspaces[i].id);
RED.view.removeWorkspace(ev.workspaces[i]);
if (ev.workspaces) {
for (i=0;i<ev.workspaces.length;i++) {
RED.nodes.removeWorkspace(ev.workspaces[i].id);
RED.view.removeWorkspace(ev.workspaces[i]);
}
}
} else if (ev.t == "delete") {
for (i=0;i<ev.workspaces.length;i++) {
RED.nodes.addWorkspace(ev.workspaces[i]);
RED.view.addWorkspace(ev.workspaces[i]);
if (ev.workspaces) {
for (i=0;i<ev.workspaces.length;i++) {
RED.nodes.addWorkspace(ev.workspaces[i]);
RED.view.addWorkspace(ev.workspaces[i]);
}
}
for (i=0;i<ev.nodes.length;i++) {
RED.nodes.add(ev.nodes[i]);
if (ev.nodes) {
for (i=0;i<ev.nodes.length;i++) {
RED.nodes.add(ev.nodes[i]);
}
}
for (i=0;i<ev.links.length;i++) {
RED.nodes.addLink(ev.links[i]);
if (ev.links) {
for (i=0;i<ev.links.length;i++) {
RED.nodes.addLink(ev.links[i]);
}
}
} else if (ev.t == "move") {
for (i=0;i<ev.nodes.length;i++) {
@ -69,8 +81,10 @@ RED.history = (function() {
}
}
RED.editor.updateNodeProperties(ev.node);
for (i=0;i<ev.links.length;i++) {
RED.nodes.addLink(ev.links[i]);
if (ev.links) {
for (i=0;i<ev.links.length;i++) {
RED.nodes.addLink(ev.links[i]);
}
}
RED.editor.validateNode(ev.node);
ev.node.dirty = true;