diff --git a/Code/Mantid/MantidPlot/src/ApplicationWindow.cpp b/Code/Mantid/MantidPlot/src/ApplicationWindow.cpp index 8559930f36c4e377f4b0edb9962c287cf0bb53b5..93a123f98a87d2f937feff90408dcdfce1cde3f2 100644 --- a/Code/Mantid/MantidPlot/src/ApplicationWindow.cpp +++ b/Code/Mantid/MantidPlot/src/ApplicationWindow.cpp @@ -8799,10 +8799,14 @@ void ApplicationWindow::undo() QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); - if (qobject_cast<Note*>(w)) - dynamic_cast<Note*>(w)->editor()->undo(); - else if (qobject_cast<Matrix*>(w)){ - QUndoStack *stack = (dynamic_cast<Matrix*>(w))->undoStack(); + auto note = dynamic_cast<Note*>(w); + auto matrix = dynamic_cast<Matrix*>(w); + + if(note) + note->editor()->undo(); + else if(matrix) + { + QUndoStack *stack = matrix->undoStack(); if (stack && stack->canUndo()) stack->undo(); }