more memory management improvements. applications should call edje_shutdown() now.

SVN revision: 8355
This commit is contained in:
tsauerbeck 2004-01-12 17:41:48 +00:00 committed by tsauerbeck
parent 1b485c4149
commit aa22ce4442
4 changed files with 38 additions and 2 deletions

View File

@ -21,6 +21,7 @@ extern "C" {
#endif
void edje_init (void);
void edje_shutdown (void);
void edje_frametime_set (double t);
double edje_frametime_get (void);
void edje_freeze (void);

View File

@ -24,6 +24,30 @@ Eet_Data_Descriptor *_edje_edd_edje_part_image_id = NULL;
(void *(*) (void *, const char *, void *))evas_hash_add, \
(void (*) (void *))evas_hash_free)
#define FREED(eed) \
if (eed) \
{ \
eet_data_descriptor_free((eed)); \
(eed) = NULL; \
}
void
_edje_edd_free(void)
{
FREED(_edje_edd_edje_file);
FREED(_edje_edd_edje_data);
FREED(_edje_edd_edje_image_directory);
FREED(_edje_edd_edje_image_directory_entry);
FREED(_edje_edd_edje_program);
FREED(_edje_edd_edje_program_target);
FREED(_edje_edd_edje_part_collection_directory);
FREED(_edje_edd_edje_part_collection_directory_entry);
FREED(_edje_edd_edje_part_collection);
FREED(_edje_edd_edje_part);
FREED(_edje_edd_edje_part_description);
FREED(_edje_edd_edje_part_image_id);
}
void
_edje_edd_setup(void)
{

View File

@ -1,17 +1,27 @@
#include "Edje.h"
#include "edje_private.h"
static int initted = 0;
void
edje_init(void)
{
static int initted = 0;
if (initted) return;
initted = 1;
_edje_edd_setup();
_edje_text_init();
}
void
edje_shutdown(void)
{
if (!initted) return;
_edje_edd_free();
initted = 0;
}
Edje *
_edje_add(Evas_Object *obj)
{

View File

@ -560,6 +560,7 @@ int _edje_timer_cb(void *data);
int _edje_pending_timer_cb(void *data);
void _edje_edd_setup(void);
void _edje_edd_free(void);
void _edje_file_add(Edje *ed);
void _edje_file_del(Edje *ed);