yakov pushed a commit to branch master. http://git.enlightenment.org/tools/erigo.git/commit/?id=3942d383b7ddb7b3e038bc0b5b560149650c56a6
commit 3942d383b7ddb7b3e038bc0b5b560149650c56a6 Author: Yakov Goldberg <yako...@samsung.com> Date: Sun Dec 6 15:07:23 2015 +0200 Add more checks for context_memento_finalize() Check if current memento exists. Check if current memento was already finalized. If so, don't do anything, just return. --- src/lib/gui_widget.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/lib/gui_widget.c b/src/lib/gui_widget.c index 8f4f5d1..3d14dbe 100644 --- a/src/lib/gui_widget.c +++ b/src/lib/gui_widget.c @@ -4136,14 +4136,16 @@ void context_memento_finalize(Gui_Context *ctx) { const Memento *mem = context_current_memento_get(ctx); - if (mem) + if (!mem) return; + /* If memento is already finalized don't do anything. + * Just return. */ + if (memento_is_finalized(mem)) return; + + if (!memento_finalize((Memento *) mem)) { - if (!memento_finalize((Memento *) mem)) - { - context_memento_move_to_prev(ctx); - context_memento_discard(ctx); - goto end; - } + context_memento_move_to_prev(ctx); + context_memento_discard(ctx); + goto end; } // add changes on ctx HERE ctx->not_updated_mementos = eina_list_append(ctx->not_updated_mementos, mem); --