fix clicked when on hold set.

SVN revision: 54757
This commit is contained in:
Carsten Haitzler 2010-11-21 06:28:13 +00:00
parent 1f08779356
commit c928276a8f
1 changed files with 21 additions and 11 deletions

View File

@ -194,6 +194,7 @@ _edje_mouse_down_signal_cb(void *data, Evas *e, Evas_Object *obj, void *event_in
if (rp->clicked_button == 0)
{
rp->clicked_button = ev->button;
if (!(ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD))
rp->still_in = 1;
}
// _edje_recalc_do(ed);
@ -292,6 +293,11 @@ _edje_mouse_move_signal_cb(void *data, Evas *e, Evas_Object *obj, void *event_in
_edje_emit(ed, "mouse,move", rp->part->name);
if (rp->still_in)
{
if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD)
rp->still_in = 0;
else
{
Evas_Coord x, y, w, h;
@ -300,7 +306,10 @@ _edje_mouse_move_signal_cb(void *data, Evas *e, Evas_Object *obj, void *event_in
(ev->cur.canvas.x >= (x + w)) || (ev->cur.canvas.y >= (y + h)))
rp->still_in = 0;
}
}
else
{
if (!(ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD))
{
Evas_Coord x, y, w, h;
@ -309,6 +318,7 @@ _edje_mouse_move_signal_cb(void *data, Evas *e, Evas_Object *obj, void *event_in
(ev->cur.canvas.x < (x + w)) && (ev->cur.canvas.y < (y + h)))
rp->still_in = 1;
}
}
_edje_freeze(ed);
if (rp->drag)
{