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

Reply via email to