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);

-- 


Reply via email to