Changes accounting safeness logic introduced at rev. 50158.
authorglima <glima@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Mon, 12 Jul 2010 17:20:14 +0000 (17:20 +0000)
committerglima <glima@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Mon, 12 Jul 2010 17:20:14 +0000 (17:20 +0000)
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/ecore@50201 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/ecore/ecore_idle_enterer.c
src/lib/ecore/ecore_idle_exiter.c
src/lib/ecore/ecore_idler.c

index ff92aa3..78b8ce2 100644 (file)
@@ -130,7 +130,10 @@ _ecore_idle_enterer_call(void)
        if (!ie->delete_me)
          {
             ie->references++;
-            if (!ie->func(ie->data)) ecore_idle_enterer_del(ie);
+            if (!ie->func(ie->data))
+              {
+                 if (!ie->delete_me) ecore_idle_enterer_del(ie);
+              }
             ie->references--;
          }
        if (idle_enterer_current) /* may have changed in recursive main loops */
index b964919..9dfa065 100644 (file)
@@ -106,7 +106,10 @@ _ecore_idle_exiter_call(void)
        if (!ie->delete_me)
          {
             ie->references++;
-            if (!ie->func(ie->data)) ecore_idle_exiter_del(ie);
+            if (!ie->func(ie->data))
+              {
+                 if (!ie->delete_me) ecore_idle_exiter_del(ie);
+              }
             ie->references--;
          }
        if (idle_exiter_current) /* may have changed in recursive main loops */
index 52f1ae2..00184a6 100644 (file)
@@ -113,7 +113,10 @@ _ecore_idler_call(void)
        if (!ie->delete_me)
          {
             ie->references++;
-            if (!ie->func(ie->data)) ecore_idler_del(ie);
+            if (!ie->func(ie->data))
+              {
+                 if (!ie->delete_me) ecore_idler_del(ie);
+              }
             ie->references--;
          }
        if (idler_current) /* may have changed in recursive main loops */