Enlightenment CVS committal Author : raster Project : e17 Module : libs/evas
Dir : e17/libs/evas/src/lib/canvas Modified Files: evas_clip.c evas_events.c evas_object_main.c evas_object_textblock.c Log Message: oooh... i found a nasty mouse grab/count/accoutning/hold etc. issue with events. fixed (thanks bart!) :) =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/evas/src/lib/canvas/evas_clip.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- evas_clip.c 14 Dec 2004 03:21:32 -0000 1.10 +++ evas_clip.c 20 Jan 2005 06:54:44 -0000 1.11 @@ -166,16 +166,14 @@ obj->cur.clipper = NULL; } /* clip me */ - if (clip->clip.clipees == NULL && clip->cur.visible) + if ((clip->clip.clipees == NULL) && (clip->cur.visible)) { - /* Basically it just went invisible */ - clip->changed = 1; - clip->layer->evas->changed = 1; - - - evas_damage_rectangle_add(clip->layer->evas, - clip->cur.geometry.x, clip->cur.geometry.y, - clip->cur.geometry.w, clip->cur.geometry.h); + /* Basically it just went invisible */ + clip->changed = 1; + clip->layer->evas->changed = 1; + evas_damage_rectangle_add(clip->layer->evas, + clip->cur.geometry.x, clip->cur.geometry.y, + clip->cur.geometry.w, clip->cur.geometry.h); } obj->cur.clipper = clip; clip->clip.clipees = evas_list_append(clip->clip.clipees, obj); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/evas/src/lib/canvas/evas_events.c,v retrieving revision 1.29 retrieving revision 1.30 diff -u -3 -r1.29 -r1.30 --- evas_events.c 14 Dec 2004 03:21:32 -0000 1.29 +++ evas_events.c 20 Jan 2005 06:54:44 -0000 1.30 @@ -424,22 +424,25 @@ obj = outs->data; outs = evas_list_remove(outs, obj); - e->pointer.object.in = evas_list_remove(e->pointer.object.in, obj); + if (!obj->mouse_grabbed) { - Evas_Event_Mouse_Out ev; - - obj->mouse_in = 0; - ev.buttons = e->pointer.button; - ev.output.x = e->pointer.x; - ev.output.y = e->pointer.y; - ev.canvas.x = e->pointer.canvas_x; - ev.canvas.y = e->pointer.canvas_y; - ev.data = (void *)data; - ev.modifiers = &(e->modifiers); - ev.locks = &(e->locks); - if (!e->events_frozen) - evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_OUT, &ev); - } + e->pointer.object.in = evas_list_remove(e->pointer.object.in, obj); + { + Evas_Event_Mouse_Out ev; + + obj->mouse_in = 0; + ev.buttons = e->pointer.button; + ev.output.x = e->pointer.x; + ev.output.y = e->pointer.y; + ev.canvas.x = e->pointer.canvas_x; + ev.canvas.y = e->pointer.canvas_y; + ev.data = (void *)data; + ev.modifiers = &(e->modifiers); + ev.locks = &(e->locks); + if (!e->events_frozen) + evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_OUT, &ev); + } + } } } else =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/evas/src/lib/canvas/evas_object_main.c,v retrieving revision 1.24 retrieving revision 1.25 diff -u -3 -r1.24 -r1.25 --- evas_object_main.c 14 Dec 2004 03:21:32 -0000 1.24 +++ evas_object_main.c 20 Jan 2005 06:54:44 -0000 1.25 @@ -429,9 +429,9 @@ obj->layer->evas->focused = NULL; evas_object_event_callback_call(obj, EVAS_CALLBACK_FOCUS_OUT, NULL); } + evas_object_hide(obj); evas_object_event_callback_call(obj, EVAS_CALLBACK_FREE, NULL); evas_object_grabs_cleanup(obj); - evas_object_hide(obj); while (obj->clip.clipees) evas_object_clip_unset(obj->clip.clipees->data); if (obj->cur.clipper) evas_object_clip_unset(obj); if (obj->smart.smart) evas_object_smart_del(obj); @@ -671,12 +671,15 @@ NULL); if (obj->mouse_grabbed > 0) { - if (obj->layer->evas->pointer.mouse_grabbed > 0) + if (obj->layer->evas->pointer.mouse_grabbed >= obj->mouse_grabbed) obj->layer->evas->pointer.mouse_grabbed -= obj->mouse_grabbed; } { obj->mouse_grabbed = 0; - obj->layer->evas->pointer.object.in = evas_list_remove(obj->layer->evas->pointer.object.in, obj); + if ((obj->mouse_in) || (obj->mouse_grabbed > 0)) + { + obj->layer->evas->pointer.object.in = evas_list_remove(obj->layer->evas->pointer.object.in, obj); + } if (obj->layer->evas->events_frozen > 0) { obj->mouse_in = 0; =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/evas/src/lib/canvas/evas_object_textblock.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- evas_object_textblock.c 8 Jan 2005 15:25:50 -0000 1.3 +++ evas_object_textblock.c 20 Jan 2005 06:54:44 -0000 1.4 @@ -77,7 +77,7 @@ /* stubs of what we will need... */ void -evas_object_textblock_text_set(Evas_Object *obj, char *text) +evas_object_textblock_clear(Evas_Object *obj) { Evas_Object_Textblock *o; @@ -90,21 +90,6 @@ MAGIC_CHECK_END(); } -const char * -evas_object_textblock_text_get(Evas_Object *obj) -{ - Evas_Object_Textblock *o; - - MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ); - return NULL; - MAGIC_CHECK_END(); - o = (Evas_Object_Textblock *)(obj->object_data); - MAGIC_CHECK(o, Evas_Object_Textblock, MAGIC_OBJ_TEXT); - return NULL; - MAGIC_CHECK_END(); - return NULL; -} - void evas_object_textblock_cursor_pos_set(Evas_Object *obj, int pos) { @@ -148,8 +133,62 @@ MAGIC_CHECK_END(); } +Evas_Format * +evas_format_new(Evas *e) +{ + MAGIC_CHECK(e, Evas, MAGIC_EVAS); + return NULL; + MAGIC_CHECK_END(); + return NULL; +} + void -evas_object_textblock_newline_use_set(Evas_Object *obj, Evas_Bool use) +evas_format_del(Evas_Format *fmt) +{ +} + +void +evas_format_retain_set(Evas_Format *fmt, Evas_Bool retain) +{ +} + +void +evas_format_resize(Evas_Format *fmt, Evas_Coord w, Evas_Coord h) +{ +} + +void +evas_format_type_set(Evas_Format *fmt, Evas_Format_Type ft) +{ +} + +void +evas_format_size_set(Evas_Format *fmt, Evas_Coord size) +{ +} + +void +evas_format_enabled_set(Evas_Format *fmt, Evas_Bool enabled) +{ +} + +void +evas_format_color_set(Evas_Format *fmt, int r, int g, int b, int a) +{ +} + +void +evas_format_string_set(Evas_Format *fmt, const char *str) +{ +} + +void +evas_format_align_set(Evas_Format *fmt, double align) +{ +} + +void +evas_object_textblock_format_insert(Evas_Object *obj, Evas_Format *fmt) { Evas_Object_Textblock *o; @@ -162,25 +201,14 @@ MAGIC_CHECK_END(); } -Evas_Bool -evas_object_textblock_newline_use_get(Evas_Object *obj) +void +evas_object_textblock_format_direction_set(Evas_Object *obj, Evas_Format_Direction dir) { - Evas_Object_Textblock *o; - - MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ); - return 0; - MAGIC_CHECK_END(); - o = (Evas_Object_Textblock *)(obj->object_data); - MAGIC_CHECK(o, Evas_Object_Textblock, MAGIC_OBJ_TEXT); - return 0; - MAGIC_CHECK_END(); - return 0; } - /* all nice and private */ static void evas_object_textblock_init(Evas_Object *obj) ------------------------------------------------------- This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting Tool for open source databases. Create drag-&-drop reports. Save time by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. Download a FREE copy at http://www.intelliview.com/go/osdn_nl _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs