diff --git a/legacy/evas/ChangeLog b/legacy/evas/ChangeLog index 3e5d06f44c..b6e69dd47b 100644 --- a/legacy/evas/ChangeLog +++ b/legacy/evas/ChangeLog @@ -418,3 +418,7 @@ * Fix bug where event causes event in callback on same object, but with same event counter, so also filter out same event types. +2011-07-06 Carsten Haitzler (The Rasterman) + + * Fix bug in grab counting on object hide while events are frozen + diff --git a/legacy/evas/src/lib/canvas/evas_object_main.c b/legacy/evas/src/lib/canvas/evas_object_main.c index a35dc20397..d49a5c9de7 100644 --- a/legacy/evas/src/lib/canvas/evas_object_main.c +++ b/legacy/evas/src/lib/canvas/evas_object_main.c @@ -947,6 +947,11 @@ evas_object_hide(Evas_Object *obj) } else { + if (obj->mouse_grabbed > 0) + { +// 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;