Fix some crashes and a bunch of memory leaks/errors. There are still a few memory leaks originating deep within ewl somewhere. Also, if you don't open the config_inwin before closing the program, there are some errors.
This commit is contained in:
@ -1011,6 +1011,27 @@ ecdb_combo_data_set(Evas_Object *c, void *data)
|
||||
cd->data = data;
|
||||
}
|
||||
|
||||
void *
|
||||
ecdb_combo_data_get(Evas_Object *c)
|
||||
{
|
||||
Combo_Data *cd;
|
||||
|
||||
if (!c)
|
||||
{
|
||||
printf("ecdb_combo_data_get: NULL object!\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
cd = evas_object_data_get(c, "cd");
|
||||
if (!cd)
|
||||
{
|
||||
printf("ecdb_combo_data_set: NULL data!\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return cd->data;
|
||||
}
|
||||
|
||||
void
|
||||
ecdb_combo_clear(Evas_Object *c)
|
||||
{
|
||||
@ -1097,8 +1118,13 @@ _config_inwin_hide(void *data, Evas *e, Evas_Object *obj, void *event_info)
|
||||
|
||||
iwd = data;
|
||||
|
||||
evas_object_hide(iwd->popup);
|
||||
evas_object_hide(iwd->back);
|
||||
if (iwd)
|
||||
{
|
||||
if (iwd->popup)
|
||||
evas_object_hide(iwd->popup);
|
||||
if (iwd->back)
|
||||
evas_object_hide(iwd->back);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
@ -1177,12 +1203,13 @@ ecdb_config_inwin_show(Evas_Object *inwin)
|
||||
|
||||
evas_object_pass_events_set(iwd->back, 0);
|
||||
evas_object_layer_set(iwd->back, evas_object_layer_get(iwd->parent) + 1);
|
||||
evas_object_raise(iwd->back);
|
||||
edje_object_signal_emit(iwd->back, "ecdb,config_inwin,back,show", "ecdb");
|
||||
|
||||
evas_object_pass_events_set(iwd->popup, 0);
|
||||
evas_object_layer_set(iwd->popup, evas_object_layer_get(iwd->back) + 1);
|
||||
edje_object_signal_emit(iwd->popup, "ecdb,config_inwin,popup,show",
|
||||
"ecdb");
|
||||
evas_object_raise(iwd->popup);
|
||||
edje_object_signal_emit(iwd->popup, "ecdb,config_inwin,popup,show", "ecdb");
|
||||
iwd->visible = 1;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user