i tried using esmart_container_sort() and found a few bugs with the callback
--- esmart_container.c  2005-04-11 10:32:14.000000000 +0200
+++ 
/usr/portage/distfiles/cvs-src/e17/libs/esmart/src/lib/esmart_container/esmart_container.c
  2005-04-11 06:31:47.000000000 +0200
@@ -15,7 +15,7 @@
 
 /*** external API ***/
 
-static int (*_sort_func)(void*,void*) = NULL;
+static int (*_sort_func)(Evas_Object*,Evas_Object*) = NULL;
 
 static int
 _sort_cb(void *d1, void *d2)
@@ -23,10 +23,12 @@
    Evas_Object *o = NULL;
    Evas_Object *oo = NULL;
    
+   if (!_sort_func) return 0;
+
    o = ((Container_Element *) d1)->obj;
    oo = ((Container_Element *) d2)->obj;
-   if (_sort_func) return 0;
-   return _sort_func(d1, d2);
+
+   return _sort_func(o, oo);
 }
 
 void esmart_container_sort(Evas_Object *container, int (*func)(Evas_Object *, 
Evas_Object *$))

Reply via email to