more memory management improvements. applications should call edje_shutdown() now.
SVN revision: 8355
This commit is contained in:
parent
1b485c4149
commit
aa22ce4442
|
@ -21,6 +21,7 @@ extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void edje_init (void);
|
void edje_init (void);
|
||||||
|
void edje_shutdown (void);
|
||||||
void edje_frametime_set (double t);
|
void edje_frametime_set (double t);
|
||||||
double edje_frametime_get (void);
|
double edje_frametime_get (void);
|
||||||
void edje_freeze (void);
|
void edje_freeze (void);
|
||||||
|
|
|
@ -24,6 +24,30 @@ Eet_Data_Descriptor *_edje_edd_edje_part_image_id = NULL;
|
||||||
(void *(*) (void *, const char *, void *))evas_hash_add, \
|
(void *(*) (void *, const char *, void *))evas_hash_add, \
|
||||||
(void (*) (void *))evas_hash_free)
|
(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
|
void
|
||||||
_edje_edd_setup(void)
|
_edje_edd_setup(void)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,17 +1,27 @@
|
||||||
#include "Edje.h"
|
#include "Edje.h"
|
||||||
#include "edje_private.h"
|
#include "edje_private.h"
|
||||||
|
|
||||||
|
static int initted = 0;
|
||||||
|
|
||||||
void
|
void
|
||||||
edje_init(void)
|
edje_init(void)
|
||||||
{
|
{
|
||||||
static int initted = 0;
|
|
||||||
|
|
||||||
if (initted) return;
|
if (initted) return;
|
||||||
initted = 1;
|
initted = 1;
|
||||||
_edje_edd_setup();
|
_edje_edd_setup();
|
||||||
_edje_text_init();
|
_edje_text_init();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
edje_shutdown(void)
|
||||||
|
{
|
||||||
|
if (!initted) return;
|
||||||
|
|
||||||
|
_edje_edd_free();
|
||||||
|
|
||||||
|
initted = 0;
|
||||||
|
}
|
||||||
|
|
||||||
Edje *
|
Edje *
|
||||||
_edje_add(Evas_Object *obj)
|
_edje_add(Evas_Object *obj)
|
||||||
{
|
{
|
||||||
|
|
|
@ -560,6 +560,7 @@ int _edje_timer_cb(void *data);
|
||||||
int _edje_pending_timer_cb(void *data);
|
int _edje_pending_timer_cb(void *data);
|
||||||
|
|
||||||
void _edje_edd_setup(void);
|
void _edje_edd_setup(void);
|
||||||
|
void _edje_edd_free(void);
|
||||||
|
|
||||||
void _edje_file_add(Edje *ed);
|
void _edje_file_add(Edje *ed);
|
||||||
void _edje_file_del(Edje *ed);
|
void _edje_file_del(Edje *ed);
|
||||||
|
|
Loading…
Reference in New Issue