History

Update UndoStackScriptingInterface to not call redo automatically

Ryan Huffman committed 12 years ago

Commit cce1e231 parent af103b22 files · +7 −2Browse files

Showing the changes to libraries/script-engine/src/UndoStackScriptingInterface.cpp (1 of 2 files). Show all

Unified · Split

libraries/script-engine/src/UndoStackScriptingInterface.cpp+6−2
@@ -30,6 +30,7 @@ void UndoStackScriptingInterface::pushCommand(QScriptValue undoFunction, QScript · 29 unmodified lines
3030
3131 ScriptUndoCommand::ScriptUndoCommand(QScriptValue undoFunction, QScriptValue undoData,
3232 QScriptValue redoFunction, QScriptValue redoData) :
33+ _hasRedone(false),
3334 _undoFunction(undoFunction),
3435 _undoData(undoData),
3536 _redoFunction(redoFunction),
@@ -41,7 +42,11 @@ void ScriptUndoCommand::undo() { · 5 unmodified lines
4142 }
4243
4344 void ScriptUndoCommand::redo() {
44− QMetaObject::invokeMethod(this, "doRedo");
45+ if (_hasRedone) {
46+ qDebug() << "Doing redo!";
47+ QMetaObject::invokeMethod(this, "doRedo");
48+ }
49+ _hasRedone = true;
4550 }
4651
4752 void ScriptUndoCommand::doUndo() {
@@ -50,7 +55,6 @@ void ScriptUndoCommand::doUndo() { · 2 unmodified lines
5055 _undoFunction.call(QScriptValue(), args);
5156 }
5257
53−
5458 void ScriptUndoCommand::doRedo() {
5559 QScriptValueList args;
5660 args << _redoData;