rimmed pushed a commit to branch eflete-1.18.

http://git.enlightenment.org/tools/eflete.git/commit/?id=cb9ce736469f0a1faa930172c91279fba507feb1

commit cb9ce736469f0a1faa930172c91279fba507feb1
Author: Vyacheslav Reutskiy <v.reuts...@samsung.com>
Date:   Wed Nov 9 10:34:36 2016 +0200

    project_navigator: update comporator for sorted insert
    
    Fixes T4802
    
    Change-Id: I7d21e1307b1f891014e422c2b34f9bdbf46de062
    
     Conflicts:
            src/bin/ui/project_navigator.c
---
 src/bin/ui/project_navigator.c | 33 ++++++++++++++++++++++-----------
 1 file changed, 22 insertions(+), 11 deletions(-)

diff --git a/src/bin/ui/project_navigator.c b/src/bin/ui/project_navigator.c
index b8af9f1..6afdffd 100644
--- a/src/bin/ui/project_navigator.c
+++ b/src/bin/ui/project_navigator.c
@@ -280,22 +280,33 @@ _items_compare(const void *data1, const void *data2)
    const char *str2;
    const Elm_Object_Item *it1 = data1;
    const Elm_Object_Item *it2 = data2;
+   const Elm_Genlist_Item_Class *it1_class;
+   const Elm_Genlist_Item_Class *it2_class;
 
-   /* add group */
-   if (elm_genlist_item_item_class_get(it1) == project_navigator.itc_group)
+   it1_class = elm_genlist_item_item_class_get(it1);
+   it2_class = elm_genlist_item_item_class_get(it2);
+
+   if ((it1_class == project_navigator.itc_group) &&
+       (it2_class == project_navigator.itc_folder))
      {
-        if (elm_genlist_item_item_class_get(it2) != 
project_navigator.itc_folder)
-          str2 = ((Group *)elm_object_item_data_get(it2))->name;
-        else return 1;
-        str1 = ((Group *)elm_object_item_data_get(it1))->name;
+        return 1;
      }
-   else /* add folder */
+   else if ((it1_class == project_navigator.itc_folder) &&
+            (it2_class == project_navigator.itc_group))
      {
-        if (elm_genlist_item_item_class_get(it2) == 
project_navigator.itc_group)
-          str2 = elm_object_item_data_get(it2);
-        else return -1;
-        str1 = elm_object_item_data_get(it1);
+        return -1;
      }
+
+   if (it1_class == project_navigator.itc_group)
+     str1 = ((Group *)elm_object_item_data_get(it1))->name;
+   else
+     str1 = elm_object_item_data_get(it1);
+
+   if (it2_class == project_navigator.itc_group)
+     str2 = ((Group *)elm_object_item_data_get(it2))->name;
+   else
+     str2 = elm_object_item_data_get(it2);
+
    return strcmp(str1, str2);
 }
 

-- 


Reply via email to