From 05ea1163f3caa693c863edb6e9be8536cb95a692 Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Wed, 19 Apr 2006 14:37:49 +0000 Subject: [PATCH] fix over/under grab problems SVN revision: 22234 --- legacy/evas/src/lib/canvas/evas_events.c | 8 +++++--- legacy/evas/src/lib/canvas/evas_object_main.c | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/legacy/evas/src/lib/canvas/evas_events.c b/legacy/evas/src/lib/canvas/evas_events.c index 10b1ab8492..8f915a69a2 100644 --- a/legacy/evas/src/lib/canvas/evas_events.c +++ b/legacy/evas/src/lib/canvas/evas_events.c @@ -297,8 +297,10 @@ evas_event_feed_mouse_up(Evas *e, int b, Evas_Button_Flags flags, unsigned int t Evas_Event_Mouse_Up ev; obj = l->data; - if (obj->mouse_grabbed > 0) obj->mouse_grabbed--; - if (e->pointer.mouse_grabbed > 0) e->pointer.mouse_grabbed--; +// if (obj->mouse_grabbed > 0) + obj->mouse_grabbed--; +// if (e->pointer.mouse_grabbed > 0) + e->pointer.mouse_grabbed--; ev.button = b; ev.output.x = e->pointer.x; ev.output.y = e->pointer.y; @@ -460,7 +462,7 @@ evas_event_feed_mouse_move(Evas *e, int x, int y, unsigned int timestamp, const e->pointer.canvas_y = evas_coord_screen_y_to_world(e, y); if ((!e->pointer.inside) && (e->pointer.mouse_grabbed == 0)) return; /* if our mouse button is grabbed to any objects */ - if (e->pointer.mouse_grabbed != 0) + if (e->pointer.mouse_grabbed > 0) { /* go thru old list of in objects */ Evas_List *outs = NULL; diff --git a/legacy/evas/src/lib/canvas/evas_object_main.c b/legacy/evas/src/lib/canvas/evas_object_main.c index d6d0ba2abd..323208864f 100644 --- a/legacy/evas/src/lib/canvas/evas_object_main.c +++ b/legacy/evas/src/lib/canvas/evas_object_main.c @@ -698,7 +698,7 @@ evas_object_hide(Evas_Object *obj) if (obj->delete_me) return; if (obj->mouse_grabbed > 0) { - if (obj->layer->evas->pointer.mouse_grabbed >= obj->mouse_grabbed) +// if (obj->layer->evas->pointer.mouse_grabbed >= obj->mouse_grabbed) obj->layer->evas->pointer.mouse_grabbed -= obj->mouse_grabbed; } {