fix some formatting/indenting and explicitly look at mouse_down as a counter.

SVN revision: 37650
This commit is contained in:
Carsten Haitzler 2008-11-15 05:13:09 +00:00
parent 4e108162aa
commit fec072d883
2 changed files with 32 additions and 31 deletions

View File

@ -377,11 +377,14 @@ evas_event_feed_mouse_up(Evas *e, int b, Evas_Button_Flags flags, unsigned int t
}
if (e->pointer.mouse_grabbed < 0)
fprintf(stderr, "BUG? e->pointer.mouse_grabbed (=%d) < 0!\n",
e->pointer.mouse_grabbed);
if ((e->pointer.button == 0) && (e->pointer.mouse_grabbed))
{
fprintf(stderr, "BUG? e->pointer.mouse_grabbed (=%d) < 0!\n",
e->pointer.mouse_grabbed);
}
if ((e->pointer.button == 0) && (e->pointer.mouse_grabbed != 0))
{
printf("restore to 0 grabs (from %i)\n", e->pointer.mouse_grabbed);
e->pointer.mouse_grabbed = 0;
}
_evas_unwalk(e);
@ -556,7 +559,7 @@ evas_event_feed_mouse_move(Evas *e, int x, int y, unsigned int timestamp, const
obj = outs->data;
outs = eina_list_remove(outs, obj);
if ((!obj->mouse_grabbed) && (!e->delete_me))
if ((obj->mouse_grabbed == 0) && (!e->delete_me))
{
e->pointer.object.in = eina_list_remove(e->pointer.object.in, obj);
{

View File

@ -1083,32 +1083,30 @@ evas_object_hide(Evas_Object *obj)
// if (obj->layer->evas->pointer.mouse_grabbed >= obj->mouse_grabbed)
obj->layer->evas->pointer.mouse_grabbed -= obj->mouse_grabbed;
}
{
if ((obj->mouse_in) || (obj->mouse_grabbed > 0))
{
obj->layer->evas->pointer.object.in = eina_list_remove(obj->layer->evas->pointer.object.in, obj);
}
obj->mouse_grabbed = 0;
if (obj->layer->evas->events_frozen > 0)
{
obj->mouse_in = 0;
return;
}
if (obj->mouse_in)
{
Evas_Event_Mouse_Out ev;
obj->mouse_in = 0;
ev.buttons = obj->layer->evas->pointer.button;
ev.output.x = obj->layer->evas->pointer.x;
ev.output.y = obj->layer->evas->pointer.y;
ev.canvas.x = obj->layer->evas->pointer.x;
ev.canvas.y = obj->layer->evas->pointer.y;
ev.data = NULL;
ev.modifiers = &(obj->layer->evas->modifiers);
ev.locks = &(obj->layer->evas->locks);
evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_OUT, &ev);
}
if ((obj->mouse_in) || (obj->mouse_grabbed > 0))
{
obj->layer->evas->pointer.object.in = eina_list_remove(obj->layer->evas->pointer.object.in, obj);
}
obj->mouse_grabbed = 0;
if (obj->layer->evas->events_frozen > 0)
{
obj->mouse_in = 0;
return;
}
if (obj->mouse_in)
{
Evas_Event_Mouse_Out ev;
obj->mouse_in = 0;
ev.buttons = obj->layer->evas->pointer.button;
ev.output.x = obj->layer->evas->pointer.x;
ev.output.y = obj->layer->evas->pointer.y;
ev.canvas.x = obj->layer->evas->pointer.x;
ev.canvas.y = obj->layer->evas->pointer.y;
ev.data = NULL;
ev.modifiers = &(obj->layer->evas->modifiers);
ev.locks = &(obj->layer->evas->locks);
evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_OUT, &ev);
}
}
}