diff --git a/legacy/edje/src/lib/edje_data.c b/legacy/edje/src/lib/edje_data.c index e6150b7a9f..05cf38aba8 100644 --- a/legacy/edje/src/lib/edje_data.c +++ b/legacy/edje/src/lib/edje_data.c @@ -30,6 +30,7 @@ Eet_Data_Descriptor *_edje_edd_edje_part = NULL; Eet_Data_Descriptor *_edje_edd_edje_part_pointer = NULL; Eet_Data_Descriptor *_edje_edd_edje_part_description_variant = NULL; Eet_Data_Descriptor *_edje_edd_edje_part_description_rectangle = NULL; +Eet_Data_Descriptor *_edje_edd_edje_part_description_virtual = NULL; Eet_Data_Descriptor *_edje_edd_edje_part_description_swallow = NULL; Eet_Data_Descriptor *_edje_edd_edje_part_description_group = NULL; Eet_Data_Descriptor *_edje_edd_edje_part_description_image = NULL; @@ -41,6 +42,7 @@ Eet_Data_Descriptor *_edje_edd_edje_part_description_table = NULL; Eet_Data_Descriptor *_edje_edd_edje_part_description_external = NULL; Eet_Data_Descriptor *_edje_edd_edje_part_description_variant_list = NULL; Eet_Data_Descriptor *_edje_edd_edje_part_description_rectangle_pointer = NULL; +Eet_Data_Descriptor *_edje_edd_edje_part_description_virtual_pointer = NULL; Eet_Data_Descriptor *_edje_edd_edje_part_description_swallow_pointer = NULL; Eet_Data_Descriptor *_edje_edd_edje_part_description_group_pointer = NULL; Eet_Data_Descriptor *_edje_edd_edje_part_description_image_pointer = NULL; @@ -189,6 +191,7 @@ _edje_edd_shutdown(void) FREED(_edje_edd_edje_part_pointer); FREED(_edje_edd_edje_part_description_variant); FREED(_edje_edd_edje_part_description_rectangle); + FREED(_edje_edd_edje_part_description_virtual); FREED(_edje_edd_edje_part_description_swallow); FREED(_edje_edd_edje_part_description_group); FREED(_edje_edd_edje_part_description_image); @@ -200,6 +203,7 @@ _edje_edd_shutdown(void) FREED(_edje_edd_edje_part_description_external); FREED(_edje_edd_edje_part_description_variant_list); FREED(_edje_edd_edje_part_description_rectangle_pointer); + FREED(_edje_edd_edje_part_description_virtual_pointer); FREED(_edje_edd_edje_part_description_swallow_pointer); FREED(_edje_edd_edje_part_description_group_pointer); FREED(_edje_edd_edje_part_description_image_pointer); @@ -565,6 +569,13 @@ _edje_edd_init(void) eet_data_descriptor_file_new(&eddc); EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON(_edje_edd_edje_part_description_rectangle, Edje_Part_Description_Common); + EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Description_Common); + eddc.func.mem_free = mem_free_virtual; + eddc.func.mem_alloc = mem_alloc_virtual; + _edje_edd_edje_part_description_virtual = + eet_data_descriptor_file_new(&eddc); + EDJE_DATA_DESCRIPTOR_DESCRIPTION_COMMON(_edje_edd_edje_part_description_virtual, Edje_Part_Description_Common); + EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Description_Common); eddc.func.mem_free = mem_free_swallow; eddc.func.mem_alloc = mem_alloc_swallow; @@ -745,7 +756,7 @@ _edje_edd_init(void) eddc.func.type_set = _edje_description_variant_type_set; _edje_edd_edje_part_description_variant = eet_data_descriptor_file_new(&eddc); - EET_DATA_DESCRIPTOR_ADD_MAPPING(_edje_edd_edje_part_description_variant, "virtual", _edje_edd_edje_part_description_rectangle); + EET_DATA_DESCRIPTOR_ADD_MAPPING(_edje_edd_edje_part_description_variant, "virtual", _edje_edd_edje_part_description_virtual); EET_DATA_DESCRIPTOR_ADD_MAPPING(_edje_edd_edje_part_description_variant, "rectangle", _edje_edd_edje_part_description_rectangle); EET_DATA_DESCRIPTOR_ADD_MAPPING(_edje_edd_edje_part_description_variant, "swallow", _edje_edd_edje_part_description_swallow); EET_DATA_DESCRIPTOR_ADD_MAPPING(_edje_edd_edje_part_description_variant, "group", _edje_edd_edje_part_description_group); @@ -771,7 +782,7 @@ _edje_edd_init(void) _edje_edd_edje_part_description_variant_list = eet_data_descriptor_file_new(&eddc); EDJE_ADD_ARRAY_MAPPING(_edje_edd_edje_part_description_variant_list, "rectangle", rectangle); - EDJE_ADD_ARRAY_MAPPING(_edje_edd_edje_part_description_variant_list, "virtual", rectangle); + EDJE_ADD_ARRAY_MAPPING(_edje_edd_edje_part_description_variant_list, "virtual", virtual); EDJE_ADD_ARRAY_MAPPING(_edje_edd_edje_part_description_variant_list, "swallow", swallow); EDJE_ADD_ARRAY_MAPPING(_edje_edd_edje_part_description_variant_list, "group", group); EDJE_ADD_ARRAY_MAPPING(_edje_edd_edje_part_description_variant_list, "image", image); diff --git a/legacy/edje/src/lib/edje_load.c b/legacy/edje/src/lib/edje_load.c index 5f5e587f6b..47c724f90c 100644 --- a/legacy/edje/src/lib/edje_load.c +++ b/legacy/edje/src/lib/edje_load.c @@ -1444,6 +1444,7 @@ _edje_collection_free(Edje_File *edf, Edje_Part_Collection *ec, Edje_Part_Collec eina_mempool_del(ce->mp.BOX); eina_mempool_del(ce->mp.TABLE); eina_mempool_del(ce->mp.EXTERNAL); + eina_mempool_del(ce->mp.VIRTUAL); eina_mempool_del(ce->mp.part); memset(&ce->mp, 0, sizeof (ce->mp)); @@ -1457,6 +1458,7 @@ _edje_collection_free(Edje_File *edf, Edje_Part_Collection *ec, Edje_Part_Collec eina_mempool_del(ce->mp_rtl.BOX); eina_mempool_del(ce->mp_rtl.TABLE); eina_mempool_del(ce->mp_rtl.EXTERNAL); + eina_mempool_del(ce->mp_rtl.VIRTUAL); memset(&ce->mp_rtl, 0, sizeof (ce->mp_rtl)); free(ec); ce->ref = NULL;