[elm_index, elm_label]Fixed Prevent Defect
authorGoun Lee <gouni.lee@samsung.com>
Tue, 20 Sep 2011 07:30:56 +0000 (16:30 +0900)
committerGoun Lee <gouni.lee@samsung.com>
Tue, 20 Sep 2011 07:30:56 +0000 (16:30 +0900)
src/lib/elm_index.c
src/lib/elm_label.c

index a05d48b..fcf9f1b 100644 (file)
@@ -866,7 +866,13 @@ _index_process(Evas_Object *obj)
    if (extraIndex < 0) return;
 
    group_count = _group_count(obj, extraIndex, adj_pos, N);
-   if (group_count <= 0) return;
+   if (group_count <= 0)
+     {
+        if (indx)
+          free(indx);
+        indx = NULL;
+        return;
+     }
 
    PlacementPart place[adj_pos];
    remainder = extraIndex%group_count;
@@ -1090,6 +1096,8 @@ elm_index_item_append_relative(Evas_Object *obj, const char *letter, const void
         return;
      }
    it = _item_new(obj, letter, item);
+   if (!it) return;
+
    it_rel = _item_find(obj, relative);
    if (!it_rel)
      {
@@ -1097,7 +1105,7 @@ elm_index_item_append_relative(Evas_Object *obj, const char *letter, const void
         wd->tot_items_count[wd->level]++;
         return;
      }
-   if (!it) return;
+
    wd->items = eina_list_append_relative(wd->items, it, it_rel);
    wd->tot_items_count[wd->level]++;
    _index_box_clear(obj, wd->bx[wd->level], wd->level);
@@ -1127,6 +1135,8 @@ elm_index_item_prepend_relative(Evas_Object *obj, const char *letter, const void
         return;
      }
    it = _item_new(obj, letter, item);
+   if (!it) return;
+
    it_rel = _item_find(obj, relative);
    if (!it_rel)
      {
@@ -1134,7 +1144,7 @@ elm_index_item_prepend_relative(Evas_Object *obj, const char *letter, const void
         wd->tot_items_count[wd->level]++;
         return;
      }
-   if (!it) return;
+
    wd->items = eina_list_prepend_relative(wd->items, it, it_rel);
    wd->tot_items_count[wd->level]++;
    _index_box_clear(obj, wd->bx[wd->level], wd->level);
index b0e5bee..afa8cd4 100644 (file)
@@ -938,7 +938,6 @@ elm_label_background_color_set(Evas_Object *obj,
    if (!wd) return;
    evas_object_color_set(wd->bg, r, g, b, a);
 
-   if (!wd) return;
    _elm_dangerous_call_check(__FUNCTION__);
    if (wd->bgcolor == EINA_FALSE)
      {