forked from enlightenment/efl
comment added to evas_free - compiler bug? eh? really odd
SVN revision: 3486
This commit is contained in:
parent
b155d7063a
commit
b585b3006d
|
@ -33,6 +33,9 @@ evas_free(Evas e)
|
||||||
Evas_Layer layer;
|
Evas_Layer layer;
|
||||||
|
|
||||||
layer = l->data;
|
layer = l->data;
|
||||||
|
/* FIXME: odd? can someine investigate? i'm stumped on this one */
|
||||||
|
/* this is odd - compile evas with -O0 no segv - otherwise a */
|
||||||
|
/* segv ....... ???? */
|
||||||
_evas_layer_free(layer);
|
_evas_layer_free(layer);
|
||||||
}
|
}
|
||||||
if (e->layers) evas_list_free(e->layers);
|
if (e->layers) evas_list_free(e->layers);
|
||||||
|
|
|
@ -87,22 +87,17 @@ _evas_real_del_object(Evas e, Evas_Object o)
|
||||||
void
|
void
|
||||||
_evas_layer_free(Evas e, Evas_Layer layer)
|
_evas_layer_free(Evas e, Evas_Layer layer)
|
||||||
{
|
{
|
||||||
if (layer->objects)
|
while (layer->objects)
|
||||||
{
|
{
|
||||||
Evas_List l;
|
Evas_Object o;
|
||||||
|
|
||||||
for (l = layer->objects; l; l = l->next)
|
o = layer->objects->data;
|
||||||
{
|
layer->objects = evas_list_remove(layer->objects, o);
|
||||||
Evas_Object o;
|
_evas_callback_call(e, o, CALLBACK_FREE, 0, 0, 0);
|
||||||
|
_evas_remove_callbacks(e, o);
|
||||||
o = l->data;
|
_evas_remove_data(e, o);
|
||||||
_evas_callback_call(e, o, CALLBACK_FREE, 0, 0, 0);
|
o->object_renderer_data_free(e, o);
|
||||||
_evas_remove_callbacks(e, o);
|
o->object_free(o);
|
||||||
_evas_remove_data(e, o);
|
|
||||||
o->object_renderer_data_free(e, o);
|
|
||||||
o->object_free(o);
|
|
||||||
}
|
|
||||||
evas_list_free(layer->objects);
|
|
||||||
}
|
}
|
||||||
free(layer);
|
free(layer);
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,6 +11,6 @@ evas_test_DEPENDENCIES = $(top_srcdir)/src/libevas.la
|
||||||
|
|
||||||
evas_test_SOURCES = evas_test.c
|
evas_test_SOURCES = evas_test.c
|
||||||
|
|
||||||
evas_test_LDFLAGS = -static
|
evas_test_LDFLAGS = -static
|
||||||
|
|
||||||
evas_test_LDADD = $(top_builddir)/src/libevas.la
|
evas_test_LDADD = $(top_builddir)/src/libevas.la
|
||||||
|
|
|
@ -275,6 +275,11 @@ main(int argc, char **argv)
|
||||||
|
|
||||||
down = 0;
|
down = 0;
|
||||||
button = ev.xbutton.button;
|
button = ev.xbutton.button;
|
||||||
|
if (button == 3)
|
||||||
|
{
|
||||||
|
evas_free(e);
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
mouse_x = ev.xbutton.x;
|
mouse_x = ev.xbutton.x;
|
||||||
mouse_y = ev.xbutton.y;
|
mouse_y = ev.xbutton.y;
|
||||||
evas_event_button_up(e, mouse_x, mouse_y, button);
|
evas_event_button_up(e, mouse_x, mouse_y, button);
|
||||||
|
|
Loading…
Reference in New Issue