REVERT commits 60787 and 60788 by tasn. BORK mouse in/out (e17 menus)

SVN revision: 60790
This commit is contained in:
Carsten Haitzler 2011-06-29 03:14:57 +00:00
parent 0365a18df7
commit 99475ecdf3
1 changed files with 21 additions and 20 deletions

View File

@ -204,6 +204,7 @@ EAPI void
evas_event_feed_mouse_down(Evas *e, int b, Evas_Button_Flags flags, unsigned int timestamp, const void *data)
{
Eina_List *l, *copy;
Eina_List *ins;
Evas_Event_Mouse_Down ev;
Evas_Object *obj;
@ -233,17 +234,11 @@ evas_event_feed_mouse_down(Evas *e, int b, Evas_Button_Flags flags, unsigned int
ev.event_flags = EVAS_EVENT_FLAG_NONE;
_evas_walk(e);
/* If this is the first finger down, i.e no other fingers pressed,
* get a new event list, otherwise, keep the current grabbed list. */
if (e->pointer.mouse_grabbed == 0)
{
Eina_List *ins;
ins = evas_event_objects_event_list(e, NULL, e->pointer.x, e->pointer.y);
/* free our old list of ins */
e->pointer.object.in = eina_list_free(e->pointer.object.in);
/* and set up the new one */
e->pointer.object.in = ins;
}
ins = evas_event_objects_event_list(e, NULL, e->pointer.x, e->pointer.y);
/* free our old list of ins */
e->pointer.object.in = eina_list_free(e->pointer.object.in);
/* and set up the new one */
e->pointer.object.in = ins;
copy = evas_event_list_copy(e->pointer.object.in);
EINA_LIST_FOREACH(copy, l, obj)
{
@ -354,8 +349,10 @@ _post_up_handle(Evas *e, unsigned int timestamp, const void *data)
{
ins = eina_list_free(ins);
}
/* free our cur ins */
eina_list_free(ins);
/* free our old list of ins */
e->pointer.object.in = eina_list_free(e->pointer.object.in);
/* and set up the new one */
e->pointer.object.in = ins;
if (e->pointer.inside)
evas_event_feed_mouse_move(e, e->pointer.x, e->pointer.y, timestamp, data);
return post_called;
@ -403,7 +400,7 @@ evas_event_feed_mouse_up(Evas *e, int b, Evas_Button_Flags flags, unsigned int t
ev.canvas.y = e->pointer.y;
_evas_event_havemap_adjust(obj, &ev.canvas.x, &ev.canvas.y, obj->mouse_grabbed);
if ((obj->pointer_mode != EVAS_OBJECT_POINTER_MODE_NOGRAB) &&
(obj->mouse_grabbed > 0))
(obj->mouse_in) && (obj->mouse_grabbed > 0))
{
obj->mouse_grabbed--;
e->pointer.mouse_grabbed--;
@ -741,8 +738,10 @@ evas_event_feed_mouse_move(Evas *e, int x, int y, unsigned int timestamp, const
}
if (e->delete_me) break;
}
/* free our current ins */
eina_list_free(ins);
/* free our old list of ins */
eina_list_free(e->pointer.object.in);
/* and set up the new one */
e->pointer.object.in = ins;
_evas_post_event_callback_call(e);
}
_evas_unwalk(e);
@ -923,7 +922,7 @@ evas_event_feed_multi_down(Evas *e,
if (obj->pointer_mode != EVAS_OBJECT_POINTER_MODE_NOGRAB)
{
obj->mouse_grabbed++;
e->pointer.mouse_grabbed++;
e->pointer.mouse_grabbed++;
}
if (e->events_frozen <= 0)
evas_object_event_callback_call(obj, EVAS_CALLBACK_MULTI_DOWN, &ev);
@ -989,7 +988,7 @@ evas_event_feed_multi_up(Evas *e,
if (y != ev.canvas.y)
ev.canvas.ysub = ev.canvas.y; // fixme - lost precision
if ((obj->pointer_mode != EVAS_OBJECT_POINTER_MODE_NOGRAB) &&
(obj->mouse_grabbed > 0))
(obj->mouse_in) && (obj->mouse_grabbed > 0))
{
obj->mouse_grabbed--;
e->pointer.mouse_grabbed--;
@ -1135,8 +1134,10 @@ evas_event_feed_multi_move(Evas *e,
if (e->delete_me) break;
}
if (copy) copy = eina_list_free(copy);
/* free our current ins */
eina_list_free(ins);
/* free our old list of ins */
eina_list_free(e->pointer.object.in);
/* and set up the new one */
e->pointer.object.in = ins;
_evas_post_event_callback_call(e);
}
_evas_unwalk(e);