Showing the changes to libraries/script-engine/src/UndoStackScriptingInterface.cpp (1 of 2 files). Show all
Unified · Split
| @@ -30,6 +30,7 @@ void UndoStackScriptingInterface::pushCommand(QScriptValue undoFunction, QScript · 29 unmodified lines | |||
| 30 | 30 | ||
| 31 | ScriptUndoCommand::ScriptUndoCommand(QScriptValue undoFunction, QScriptValue undoData, | 31 | ScriptUndoCommand::ScriptUndoCommand(QScriptValue undoFunction, QScriptValue undoData, |
| 32 | QScriptValue redoFunction, QScriptValue redoData) : | 32 | QScriptValue redoFunction, QScriptValue redoData) : |
| 33 | _hasRedone(false), | ||
| 33 | _undoFunction(undoFunction), | 34 | _undoFunction(undoFunction), |
| 34 | _undoData(undoData), | 35 | _undoData(undoData), |
| 35 | _redoFunction(redoFunction), | 36 | _redoFunction(redoFunction), |
| @@ -41,7 +42,11 @@ void ScriptUndoCommand::undo() { · 5 unmodified lines | |||
| 41 | } | 42 | } |
| 42 | 43 | ||
| 43 | void ScriptUndoCommand::redo() { | 44 | void ScriptUndoCommand::redo() { |
| 44 | QMetaObject::invokeMethod(this, "doRedo"); | 45 | if (_hasRedone) { |
| 46 | qDebug() << "Doing redo!"; | ||
| 47 | QMetaObject::invokeMethod(this, "doRedo"); | ||
| 48 | } | ||
| 49 | _hasRedone = true; | ||
| 45 | } | 50 | } |
| 46 | 51 | ||
| 47 | void ScriptUndoCommand::doUndo() { | 52 | void ScriptUndoCommand::doUndo() { |
| @@ -50,7 +55,6 @@ void ScriptUndoCommand::doUndo() { · 2 unmodified lines | |||
| 50 | _undoFunction.call(QScriptValue(), args); | 55 | _undoFunction.call(QScriptValue(), args); |
| 51 | } | 56 | } |
| 52 | 57 | ||
| 53 | |||
| 54 | void ScriptUndoCommand::doRedo() { | 58 | void ScriptUndoCommand::doRedo() { |
| 55 | QScriptValueList args; | 59 | QScriptValueList args; |
| 56 | args << _redoData; | 60 | args << _redoData; |