fix bug hermet added in font code! :)
[framework/uifw/elementary.git] / src / lib / elm_index.c
index 8c6967f..b4670db 100644 (file)
@@ -265,6 +265,10 @@ _index_box_auto_fill(Evas_Object *obj, Evas_Object *box, int level)
         const char *stacking;
 
         if (it->level != level) continue;
+
+//FIXME: Need to check. This cause one less items show up.
+//        if(i > wd->max_supp_items_count) break;
+
         o = edje_object_add(evas_object_evas_get(obj));
         VIEW(it) = o;
         edje_object_mirrored_set(VIEW(it), rtl);
@@ -288,7 +292,7 @@ _index_box_auto_fill(Evas_Object *obj, Evas_Object *box, int level)
                                      elm_widget_style_get(obj));
           }
 
-        edje_object_part_text_set(o, "elm.text", it->letter);
+        edje_object_part_text_escaped_set(o, "elm.text", it->letter);
         edje_object_size_min_restricted_calc(o, &mw, &mh, 0, 0);
         evas_object_size_hint_min_set(o, mw, mh);
         evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
@@ -436,27 +440,30 @@ _sel_eval(Evas_Object *obj, Evas_Coord evx, Evas_Coord evy)
         if (it_closest)
           {
              it = it_closest;
-             if (!last)
+             if (!last && it->letter)
                last = strdup(it->letter);
              else
                {
-                  if (!label) label = strdup(last);
+                  if (!label && last) label = strdup(last);
                   else
                     {
-                       label = realloc(label, strlen(label) + strlen(last) + 1);
-                       if (!label) return;
-                       strcat(label, last);
+                       if (label && last)
+                         {
+                            label = realloc(label, strlen(label) +
+                                            strlen(last) + 1);
+                            if (!label) return;
+                            strcat(label, last);
+                         }
                     }
                   free(last);
-                  last = strdup(it->letter);
+                  if (it->letter) last = strdup(it->letter);
                }
           }
      }
-
    if (!label) label = strdup("");
    if (!last) last = strdup("");
-   edje_object_part_text_set(wd->base, "elm.text.body", label);
-   edje_object_part_text_set(wd->base, "elm.text", last);
+   edje_object_part_text_escaped_set(wd->base, "elm.text.body", label);
+   edje_object_part_text_escaped_set(wd->base, "elm.text", last);
    free(label);
    free(last);
 }
@@ -659,7 +666,7 @@ elm_index_autohide_disabled_set(Evas_Object *obj, Eina_Bool disabled)
    else
      edje_object_signal_emit(wd->base, "elm,state,inactive", "elm");
 
-   //FIXME: Should be update indicator based on the indicator visiblility 
+   //FIXME: Should be update indicator based on the indicator visiblility
 }
 
 EAPI Eina_Bool
@@ -698,7 +705,7 @@ elm_index_item_selected_set(Elm_Object_Item *it, Eina_Bool selected)
    Widget_Data *wd = elm_widget_data_get(WIDGET(it));
    if (!wd) return;
 
-   //FIXME: Should be update indicator based on the autohidden status & indicator visiblility 
+   //FIXME: Should be update indicator based on the autohidden status & indicator visiblility
 
    if (selected)
      {
@@ -710,12 +717,6 @@ elm_index_item_selected_set(Elm_Object_Item *it, Eina_Bool selected)
 
 }
 
-EINA_DEPRECATED EAPI Elm_Object_Item *
-elm_index_item_selected_get(const Evas_Object *obj, int level)
-{
-   return elm_index_selected_item_get(obj, level);
-}
-
 EAPI Elm_Object_Item *
 elm_index_selected_item_get(const Evas_Object *obj, int level)
 {
@@ -931,5 +932,3 @@ elm_index_horizontal_get(const Evas_Object *obj)
    if (!wd) return EINA_FALSE;
    return wd->horizontal;
 }
-
-