Revision 5e3703dc3b0292695d1dfeca6dd74bedaef0f5b5 authored by Pascal Obry on 30 December 2016, 09:41:58 UTC, committed by Pascal Obry on 16 January 2017, 21:54:23 UTC
The implementation of the undo/redo was simple but was letting the
complexity in the hand of the API users. In fact there was a need
to keep a prev state and and a current state, and to record only
previous states and not the current one. This was mostly working
(except for a redo bug discoverred while working on this new
implementation) but was tedious.

The new undo implementation is more complex but makes it far easier
to use. That is, modules can just record the current state and they
don't need to keep a previous state at all.

The undo history and map support has been reimplemented with this
new semantics and have been cleaned-up as a consequence.

This work has been highly motivated by the fact that we want to support
undo/redo for masks and that it was far too complex to do right with
the previous implementation.
1 parent d8e7d14
Raw File
.mailmap
johannes hanika <hanatos@gmail.com>
johannes hanika <hanatos@gmail.com> johannes hanika <hanika@kit.edu>
johannes hanika <hanatos@gmail.com> Johannes Hanika <jhanika@azrael.(none)>
johannes hanika <hanatos@gmail.com> johannes <hanatos@gmail.com>
johannes hanika <hanatos@gmail.com> jhanika <jhanika@2165daf7-ed08-4abd-b3da-b2de91a31a1b>
johannes hanika <hanatos@gmail.com> jhanika <jhanika@2165daf7-ed08-4abd-b3da-b2de91a31a1b>

Henrik Andersson <hean01@users.sourceforge.net>
Henrik Andersson <hean01@users.sourceforge.net> Henrik Andersson <henrik.4e@gmail.com>
Henrik Andersson <hean01@users.sourceforge.net> Henrik Andersson <dinamic@dinamic-desktop.(none)>
Henrik Andersson <hean01@users.sourceforge.net> Henrik Andersson <root@dinamic-desktop.(none)>
Henrik Andersson <hean01@users.sourceforge.net> dinamic <dinamic@dinamic-desktop.(none)>
Henrik Andersson <hean01@users.sourceforge.net> dinamic <dinamic@Mac-mini.local>

Tobias Ellinghaus <me@houz.org>
Tobias Ellinghaus <me@houz.org> Tobias Ellinghaus <houz@gmx.de>
Tobias Ellinghaus <me@houz.org> houz <houz@gmx.de>

Pascal de Bruijn <pmjdebruijn@pcode.nl>
Pascal de Bruijn <pmjdebruijn@pcode.nl> Pascal de Bruijn <pmjdebruijn@behemoth.(none)>
Pascal de Bruijn <pmjdebruijn@pcode.nl> Pascal de Bruijn <pmjdebruijn@darkstar.(none)>
Pascal de Bruijn <pmjdebruijn@pcode.nl> Pascal de Bruijn <pmjdebruijn@brutus.(none)>
Pascal de Bruijn <pmjdebruijn@pcode.nl> Pascal de Bruijn <pmjdebruijn@cyclops>
Pascal de Bruijn <pmjdebruijn@pcode.nl> Pascal de Bruijn <pmjdebruijn@predator.(none)>
Pascal de Bruijn <pmjdebruijn@pcode.nl> Pascal de Bruijn <pmjdebruin@pcode.nl>
Pascal de Bruijn <pmjdebruijn@pcode.nl> Pascal de Bruijn <pmjdedebruijn@pcode.nl>
Pascal de Bruijn <pmjdebruijn@pcode.nl> Pascal de Burijn <pmjdebruijn@pcode.nl>

Roman Lebedev <lebedev.ri@gmail.com>

Pascal Obry <pascal@obry.net>
Pascal Obry <pascal@obry.net> Pascal Obry <github@obry.net>

Jérémy Rosen <jeremy.rosen@enst-bretagne.fr>
Jérémy Rosen <jeremy.rosen@enst-bretagne.fr> Jérémy Rosen <jeremy.rosen@openwide.fr>
Jérémy Rosen <jeremy.rosen@enst-bretagne.fr> Boucman <rosen@pattern>

José Carlos García Sogo <jcsogo@gmail.com>
José Carlos García Sogo <jcsogo@gmail.com> Jose Carlos Garcia Sogo <jsogo@debian.org>

Ger Siemerink <g.siemerink@gmail.com>
Ger Siemerink <g.siemerink@gmail.com> Ger Siemerink <Ger Siemerink>
Ger Siemerink <g.siemerink@gmail.com> root <root@ger-laptop.(none)>
Ger Siemerink <g.siemerink@gmail.com> Ger Siemerink <email>

Michel Leblond <michel.leblond62@gmail.com>
Michel Leblond <michel.leblond62@gmail.com> Michel Leblond <michel@debianblancnez>

Simon Spannagel <simonspa@kth.se>
Simon Spannagel <simonspa@kth.se> Simon Spannagel <simon.spannagel@desy.de>
Simon Spannagel <simonspa@kth.se> Simon Spannagel <spanns@cmsspannnb.(none)>

Jean-Sébastien Pédron <jean-sebastien.pedron@dumbbell.fr>
Jean-Sébastien Pédron <jean-sebastien.pedron@dumbbell.fr> Jean-Sébastien Pédron <jean-sebastien@yakaz.com>

Aldric Renaudin <alic.vb@gmail.com>
Aldric Renaudin <alic.vb@gmail.com> AlicVB <dev@lnaa.fr>

Olivier Tribout <olivier.tribout@noos.fr>
Olivier Tribout <olivier.tribout@noos.fr> Olivier <olivier@olivier-G51JX.(none)>

Christian Tellefsen <chris-git@tellefsen.net>
Christian Tellefsen <chris-git@tellefsen.net> christte <chris-github.com@tellefsen.net>

José Carlos Casimiro <jcrc@portugalmail.com>

marcel <minusdreidb+dt@gmail.com>

Josep V. Moragues <josepvm@arrakis.es>
Josep V. Moragues <josepvm@arrakis.es> Josep V <josepvm@users.noreply.github.com>

Michal Babej <Franz.Netykafka@runbox.com>
Michal Babej <Franz.Netykafka@runbox.com> Michal Babej <mbabej@redhat.com>

Kaminsky Andrey <kaminsky.andrey@gmail.com>

Milan Knížek <knizek@volny.cz>
Milan Knížek <knizek@volny.cz> Milan Knížek <knizek.confy@gmail.com>

Victor Lamoine <victor.lamoine@gmail.com>

Mikko Ruohola <mikko@ruohola.org>

David Bremner <bremner@debian.org>
David Bremner <bremner@debian.org> David Bremner <bremner@unb.ca>

Wyatt Olson <wyatt.olson@gmail.com>
Wyatt Olson <wyatt.olson@gmail.com> Wyatt Olson <wyatt@Quark.local>
Wyatt Olson <wyatt.olson@gmail.com> Wyatt <wyatt@digitalcave.ca>

Ivan Tarozzi <itarozzi@gmail.com>

James C. McPherson <jmcp@jmcpdotcom.com>
James C. McPherson <jmcp@jmcpdotcom.com> James C. McPherson <jmcp@jmcp.homeunix.com>
James C. McPherson <jmcp@jmcpdotcom.com> McBofh <jmcp+github@jmcpdotcom.com>

calca <gianluigi.calcaterra@gmail.com>
calca <gianluigi.calcaterra@gmail.com> calca <gianluigi.calcaterra@gmai.com>

Jesper Pedersen <jesper.pedersen@comcast.net>
Jesper Pedersen <jesper.pedersen@comcast.net> Jesper Pedersen <jesper.pedersen@jboss.org>

Jochen Schroeder <cycomanic@gmail.com>

Stuart Henderson <sthen@openbsd.org>
Stuart Henderson <sthen@openbsd.org> Stuart Henderson <stu@spacehopper.org>

Wolfgang Goetz <Wolfgang.ztoeG@web.de>
Wolfgang Goetz <Wolfgang.ztoeG@web.de> Wolfgang <wolfgang.ztoeg@web.de>

Cherrot Luo <cherrot+github@cherrot.com>
Cherrot Luo <cherrot+github@cherrot.com> Cherrot Luo <admin@cherrot.com>

Christian Himpel <chressie@gmail.com>
Christian Himpel <chressie@gmail.com> Christian Himpel <chressie@googlemail.com>

Karl Mikaelsson <derfian@cendio.se>
Karl Mikaelsson <derfian@cendio.se> Karl Mikaelsson <derfian@lysator.liu.se>

Jan Kundrát <jkt@kde.org>
Jan Kundrát <jkt@kde.org> Jan Kundrát <jkt@flaska.net>

Federico Bruni <fede@inventati.org>
Federico Bruni <fede@inventati.org> Federico Bruni <fedelogy@gmail.com>

Togan Muftuoglu <toganm@opensuse.org>
Togan Muftuoglu <toganm@opensuse.org> Togan Muftuoglu <toganm@users.sourceforge.net>

Daniele Giorgis <daniele.giorgis@gmail.com>
Daniele Giorgis <daniele.giorgis@gmail.com> Daniele Giorgis <daniele@MB-Ubuntu.(none)>

Robert William Hutton <rhutton@gmail.com>
Robert William Hutton <rhutton@gmail.com> Robert William Hutton <rwh@helms-deep.net>
Robert William Hutton <rhutton@gmail.com> Robert Hutton <robert.hutton@unimelb.edu.au>

Jan Niklas Fingerle <Jan.Niklas@Fingerle.org>
Jan Niklas Fingerle <Jan.Niklas@Fingerle.org> Jan Niklas Fingerle <jan.niklas@fingerle.org>

Mattias Eriksson <snaggen@gmail.com>
Mattias Eriksson <snaggen@gmail.com> Mattias Eriksson <snaggen@acc.umu.se>

thisnamewasnottaken <hp.vandenberg@gmail.com>
thisnamewasnottaken <hp.vandenberg@gmail.com> thisnamewasnottaken <nathalierognon@MausAppleBox.local>

tatica <tatadbb@gmail.com>

Alexander V. Smal <avsmal@gmail.com>
Alexander V. Smal <avsmal@gmail.com> Alexander V. Smal <smal@logic.pdmi.ras.ru>

shlomi braitbart <sbraitbart@gmail.com>

Matthieu Volat <mazhe@alkumuna.eu>
Matthieu Volat <mazhe@alkumuna.eu> Matthieu <mazhe@alkumuna.eu>
Matthieu Volat <mazhe@alkumuna.eu> Matthieu Volat <matthieu.volat@ujf-grenoble.fr>

Stefan Schöfegger <memo5@gmx.at>

Báthory Péter <bathory86p@gmail.com>
Báthory Péter <bathory86p@gmail.com> Péter Báthory <bathory@index.hu>

Maurizio Paglia <mpaglia0@gmail.com>
Maurizio Paglia <mpaglia0@gmail.com> Maurizio Paglia <TuTPhoto@users.noreply.github.com>

Wolfgang Goetz <Wolfgang.ztoeG@web.de>
Wolfgang Goetz <Wolfgang.ztoeG@web.de> Wolfgang Goetz <wolfgang.ztoeg@web.de>

Pierre Lamot <pierre.lamot@openwide.fr>
Pierre Lamot <pierre.lamot@openwide.fr> Pierre Lamot <pierre.lamot@yahoo.fr>

Novy Sawai <a3novy01@gmail.com>
back to top