raster pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=245eced409c1294639bc49276d5e156eae0dd481

commit 245eced409c1294639bc49276d5e156eae0dd481
Author: Carsten Haitzler (Rasterman) <[email protected]>
Date:   Thu Apr 10 15:06:35 2014 +0900

    elm cnip - fix new cnp problem where invalid mem ref done
---
 src/lib/elm_cnp.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/lib/elm_cnp.c b/src/lib/elm_cnp.c
index ec436fe..abca93f 100644
--- a/src/lib/elm_cnp.c
+++ b/src/lib/elm_cnp.c
@@ -216,8 +216,12 @@ _all_drop_targets_cbs_del(void *data EINA_UNUSED, Evas *e 
EINA_UNUSED, Evas_Obje
           {
              cbs = EINA_INLIST_CONTAINER_GET(dropable->cbs_list, Dropable_Cbs);
              elm_drop_target_del(obj, cbs->types,
-                   cbs->entercb, cbs->enterdata, cbs->leavecb, cbs->leavedata,
-                   cbs->poscb, cbs->posdata, cbs->dropcb, cbs->dropdata);
+                                 cbs->entercb, cbs->enterdata, cbs->leavecb, 
cbs->leavedata,
+                                 cbs->poscb, cbs->posdata, cbs->dropcb, 
cbs->dropdata);
+             // If elm_drop_target_del() happened to delete dropabale, then
+             // re-fetch it each loop to make sure it didn't
+             eo_do(obj, eo_base_data_get("__elm_dropable", (void 
**)&dropable));
+             if (!dropable) break;
           }
      }
 }

-- 


Reply via email to