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 | 31 | ScriptUndoCommand::ScriptUndoCommand(QScriptValue undoFunction, QScriptValue undoData, |
| 32 | 32 | QScriptValue redoFunction, QScriptValue redoData) : |
| 33 | + _hasRedone(false), | |
| 33 | 34 | _undoFunction(undoFunction), |
| 34 | 35 | _undoData(undoData), |
| 35 | 36 | _redoFunction(redoFunction), |
| @@ -41,7 +42,11 @@ void ScriptUndoCommand::undo() { · 5 unmodified lines | ||
| 41 | 42 | } |
| 42 | 43 | |
| 43 | 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 | 52 | void ScriptUndoCommand::doUndo() { |
| @@ -50,7 +55,6 @@ void ScriptUndoCommand::doUndo() { · 2 unmodified lines | ||
| 50 | 55 | _undoFunction.call(QScriptValue(), args); |
| 51 | 56 | } |
| 52 | 57 | |
| 53 | − | |
| 54 | 58 | void ScriptUndoCommand::doRedo() { |
| 55 | 59 | QScriptValueList args; |
| 56 | 60 | args << _redoData; |