+UndoStackItem *UndoStack::get_current_undo()
+{
+ UndoStackItem *item = current;
+ if( item && (number_of(item) % 2) ) item = item->previous;
+ if( item && !(number_of(item) % 2) ) item = item->previous;
+ return item;
+}
+
+UndoStackItem *UndoStack::get_current_redo()
+{
+ UndoStackItem *item = current ? current : first;
+ if( item && (number_of(item) % 2) ) item = item->next;
+ if( item && !(number_of(item) % 2) ) item = item->next;
+ return item;
+}
+
+