genlist: bump item class version to 3 to fix abi breakage

when adding new methods to public interface structs (such as item class),
the version must be bumped and checked in the new interface method calls
in order to avoid breaking abi for previously-compiled apps

ref 4c86a66f28876b68e92a90c8f741eed1130dd034
This commit is contained in:
Mike Blumenkrantz 2016-02-13 14:38:26 -05:00
parent 23ee7c9843
commit 486f3d51bc
2 changed files with 3 additions and 2 deletions

View File

@ -55,5 +55,5 @@ typedef Eina_Bool (*Elm_Gen_Item_Filter_Get_Cb)(void *data,
*/
typedef Evas_Object *(*Elm_Gen_Item_Reusable_Content_Get_Cb)(void *data, Evas_Object *obj, const char *part, Evas_Object *old); /**< Cache Pop class function for gen item classes. */
#define ELM_GEN_ITEM_CLASS_VERSION 2
#define ELM_GEN_ITEM_CLASS_VERSION 3
#define ELM_GEN_ITEM_CLASS_HEADER ELM_GEN_ITEM_CLASS_VERSION, 0, 0

View File

@ -365,7 +365,8 @@ _item_content_realize(Elm_Gen_Item *it,
EINA_LIST_FREE(*contents, content)
evas_object_del(content);
}
if (it->itc->func.content_get || it->itc->func.reusable_content_get)
if (it->itc->func.content_get ||
((it->itc->version >= 3) && it->itc->func.reusable_content_get))
{
Eina_List *source;
const char *key;