edje: unset timer pointer after delete.
authorAmitesh Singh <amitesh.sh@samsung.com>
Sat, 4 Feb 2017 07:48:55 +0000 (13:18 +0530)
committerAmitesh Singh <amitesh.sh@samsung.com>
Sat, 4 Feb 2017 08:00:49 +0000 (13:30 +0530)
Signed-off-by: Amitesh Singh <amitesh.sh@samsung.com>
src/lib/edje/edje_callbacks.c
src/lib/edje/edje_load.c
src/lib/edje/edje_program.c

index 8a32093..8815489 100644 (file)
@@ -437,6 +437,7 @@ _edje_pending_timer_cb(void *data)
    pp = data;
    pp->edje->pending_actions = eina_list_remove(pp->edje->pending_actions, pp);
    _edje_program_run(pp->edje, pp->program, 1, "", "");
+   pp->timer = NULL;
    free(pp);
    return ECORE_CALLBACK_CANCEL;
 }
index 01030e3..c879586 100644 (file)
@@ -2051,6 +2051,7 @@ _edje_file_del(Edje *ed)
         EINA_LIST_FREE(ed->pending_actions, pp)
           {
              ecore_timer_del(pp->timer);
+             pp->timer = NULL;
              free(pp);
           }
      }
index 232dcb3..1482fa4 100644 (file)
@@ -873,6 +873,7 @@ low_mem_current:
                     {
                        ed->pending_actions = eina_list_remove(ed->pending_actions, pp);
                        ecore_timer_del(pp->timer);
+                       pp->timer = NULL;
                        free(pp);
                        //                     goto done;
                     }