This commit is invalid.
It just use strdup and strdup may return NULL when memory is not enough.
This reverts commit f579f7fd4b5e863f01a001876e536f5becc40811.
https://phab.enlightenment.org/T133
list_itc and grid_itc are static variables, but they were managed by file_selector instance.
For example, they are allocated two times and first allocated classes are dangling
when two file selector are created.
This patch moves their init/deinit logic to constructor/destructor of file selector class.
1. Do not need to print the same error message from all the widget codes.
2. Even though elm_widget_sub_object_add() can be used internally, there should be no error message at all.
Elm devs should fix it beforehand.
So it looks ok to print the error message in elm_widget_sub_object_add() to force elm devs to fix it.
3. Got additional code cleanups.
* Fileselector test: add a check to enable/disable buttons
Updated Changelog and NEW, also add myself as authors...
btw: the EIO code in the Fileselector is crazy-complex, about 200
lines of code just to have the list of files ina dir... :/
SVN revision: 70965
Subject: [E-devel] [patch] elm_gengrid - add item class management api
(1/3)
As like genlist item class management api, I added 4 apis to
elm_gengrid.
+EAPI Elm_Gengrid_Item_Class *elm_gengrid_item_class_new(void);
+EAPI void elm_gengrid_item_class_free(Elm_Gengrid_Item_Class *itc);
+EAPI void elm_gengrid_item_class_ref(Elm_Gengrid_Item_Class *itc);
+EAPI void elm_gengrid_item_class_unref(Elm_Gengrid_Item_Class *itc);
gengrid item class is maintained by gengrid in automatic manner.
it maintains its reference count. and item_class_free api marks
"delete_me".
Unless item_class_free, item class will not be freed.
SVN revision: 68308
Subject: [E-devel] [patch] elm_genlist - add item_class management
functions
I make controversial apis for item class management.
As raster and other guys suggest, I simplify APIs and its behaviors.
First, Two public apis and two internal apis are introduced
+EAPI Elm_Genlist_Item_Class *
+elm_genlist_item_class_new(void)
+EAPI void
+elm_genlist_item_class_free(Elm_Genlist_Item_Class *itc)
+void
+_elm_genlist_item_class_ref(Elm_Genlist_Item_Class *itc)
+void
+_elm_genlist_item_class_unref(Elm_Genlist_Item_Class *itc)
genlist item class is maintained by genlist in automatic manner.
And three fields are introduced in genlist item class.
+ int version;
+ unsigned int refcount;
+ Eina_Bool delete_me;
Normally a user add a elm_genlist_item_class by
elm_genlist_item_class_new().
Then its reference counter is automatic maintained.
If the user wanna to remove the elm_genlist_item_class, then call
elm_genlist_item_class_free()
After refcount reaches to 0, it will be removed.
SVN revision: 68147