more event paranoia. should all be fixed now

SVN revision: 3641
This commit is contained in:
Carsten Haitzler 2000-10-17 16:29:59 +00:00
parent 871a300457
commit cf7ca04c45
2 changed files with 5 additions and 4 deletions

View File

@ -106,7 +106,8 @@ evas_event_button_up(Evas e, int x, int y, int b)
b, x, y);
if (!e->mouse.buttons)
{
if (e->mouse.object != e->mouse.button_object)
if ((e->mouse.button_object) &&
(e->mouse.object != e->mouse.button_object))
_evas_callback_call(e, e->mouse.button_object, CALLBACK_MOUSE_OUT,
e->mouse.buttons, e->mouse.x, e->mouse.y);
e->mouse.button_object = NULL;

View File

@ -78,7 +78,7 @@ _evas_real_del_object(Evas e, Evas_Object o)
layer->objects = evas_list_remove(layer->objects, o);
_evas_callback_call(e, o, CALLBACK_FREE, 0, 0, 0);
if (e->mouse.object == o) e->mouse.object = NULL;
if (e->mouse.button_object == o) e->mouse.object = NULL;
if (e->mouse.button_object == o) e->mouse.button_object = NULL;
_evas_remove_callbacks(e, o);
_evas_remove_data(e, o);
if (o->name) free(o->name);
@ -103,7 +103,7 @@ _evas_layer_free(Evas e, Evas_Layer layer)
o = l->data;
_evas_callback_call(e, o, CALLBACK_FREE, 0, 0, 0);
if (e->mouse.object == o) e->mouse.object = NULL;
if (e->mouse.button_object == o) e->mouse.object = NULL;
if (e->mouse.button_object == o) e->mouse.button_object = NULL;
_evas_remove_callbacks(e, o);
_evas_remove_data(e, o);
o->object_renderer_data_free(e, o);
@ -507,7 +507,7 @@ evas_hide(Evas e, Evas_Object o)
if (_evas_point_in_object(e, o, e->mouse.x, e->mouse.y))
evas_event_move(e, e->mouse.x, e->mouse.y);
if (e->mouse.object == o) e->mouse.object = NULL;
if (e->mouse.button_object == o) e->mouse.object = NULL;
if (e->mouse.button_object == o) e->mouse.button_object = NULL;
}
Evas_Object