Enlightenment CVS committal

Author  : raster
Project : e17
Module  : libs/evas

Dir     : e17/libs/evas/src/lib/canvas


Modified Files:
        evas_callbacks.c evas_events.c 


Log Message:


freeze/thaw event yhandling... and dont respond to a changed focus after
grabs are handled....

===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/evas/src/lib/canvas/evas_callbacks.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -3 -r1.9 -r1.10
--- evas_callbacks.c    20 Jan 2003 03:54:00 -0000      1.9
+++ evas_callbacks.c    29 Jan 2003 23:37:09 -0000      1.10
@@ -384,7 +384,7 @@
 }
 
 /**
- * Add a callback function to an object
+ * Delete a callback function from an object
  * @param obj Object to remove a callback from
  * @param type The type of event that was triggering the callback
  * @param func The function that was to be called when the event was triggered
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/evas/src/lib/canvas/evas_events.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -3 -r1.5 -r1.6
--- evas_events.c       20 Jan 2003 05:17:21 -0000      1.5
+++ evas_events.c       29 Jan 2003 23:37:10 -0000      1.6
@@ -148,7 +148,8 @@
        ev.data = (void *)data;
        ev.modifiers = &(e->modifiers);
        ev.locks = &(e->locks); 
-       evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_UP, &ev);
+       if (!e->events_frozen)
+         evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_UP, &ev);
      }
    if (copy) copy = evas_list_free(copy);
    if (!e->pointer.button) 
@@ -180,7 +181,8 @@
                  ev.data = (void *)data;
                  ev.modifiers = &(e->modifiers);
                  ev.locks = &(e->locks);                 
-                 evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_OUT, &ev);
+                 if (!e->events_frozen)
+                   evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_OUT, &ev);
               }
          }
        if (copy) copy = evas_list_free(copy);
@@ -202,8 +204,9 @@
                  ev.canvas.y = e->pointer.canvas_y;
                  ev.data = (void *)data;
                  ev.modifiers = &(e->modifiers);
-                 ev.locks = &(e->locks);                 
-                 evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_IN, &ev);
+                 ev.locks = &(e->locks);
+                 if (!e->events_frozen)
+                   evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_IN, &ev);
               }
          }
        /* free our old list of ins */
@@ -270,7 +273,8 @@
                       ev.data = (void *)data;
                       ev.modifiers = &(e->modifiers);
                       ev.locks = &(e->locks);                 
-                      evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_MOVE, 
&ev);
+                      if (!e->events_frozen)
+                        evas_object_event_callback_call(obj, 
+EVAS_CALLBACK_MOUSE_MOVE, &ev);
                    }
               }
             else
@@ -296,7 +300,8 @@
                  ev.data = (void *)data;
                  ev.modifiers = &(e->modifiers);
                  ev.locks = &(e->locks);
-                 evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_OUT, &ev);
+                 if (!e->events_frozen)
+                   evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_OUT, &ev);
               }             
          }
      }
@@ -341,7 +346,8 @@
                       ev.data = (void *)data;
                       ev.modifiers = &(e->modifiers);
                       ev.locks = &(e->locks);                 
-                      evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_MOVE, 
&ev);
+                      if (!e->events_frozen)
+                        evas_object_event_callback_call(obj, 
+EVAS_CALLBACK_MOUSE_MOVE, &ev);
                    }
               }
             /* otherwise it has left the object */
@@ -358,7 +364,8 @@
                  ev.data = (void *)data;
                  ev.modifiers = &(e->modifiers);
                  ev.locks = &(e->locks);                 
-                 evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_OUT, &ev);
+                 if (!e->events_frozen)
+                   evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_OUT, &ev);
               }
          }
        if (copy) copy = evas_list_free(copy);
@@ -382,7 +389,8 @@
                  ev.data = (void *)data;
                  ev.modifiers = &(e->modifiers);
                  ev.locks = &(e->locks);                 
-                 evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_IN, &ev);
+                 if (!e->events_frozen)
+                   evas_object_event_callback_call(obj, EVAS_CALLBACK_MOUSE_IN, &ev);
               }
          }
        /* free our old list of ins */
@@ -420,7 +428,9 @@
    if (e->events_frozen > 0) return;
      {
        Evas_Event_Key_Down ev;
+       Evas_Object *focused_obj;
 
+       focused_obj = e->focused;
        ev.keyname = (char *)keyname;
        ev.data = (void *)data;
        ev.modifiers = &(e->modifiers);
@@ -440,13 +450,17 @@
                         (g->not_modifiers == ~e->modifiers.mask))) &&
                      (!strcmp(keyname, g->keyname)))
                    {
-                      evas_object_event_callback_call(g->object, 
EVAS_CALLBACK_KEY_DOWN, &ev);
+                      if (!e->events_frozen)
+                        evas_object_event_callback_call(g->object, 
+EVAS_CALLBACK_KEY_DOWN, &ev);
                       if (g->exclusive) return;
                    }                 
               }
          }
-       if (e->focused)
-         evas_object_event_callback_call(e->focused, EVAS_CALLBACK_KEY_DOWN, &ev);
+       if (focused_obj)
+         {
+            if (!e->events_frozen)
+              evas_object_event_callback_call(focused_obj, EVAS_CALLBACK_KEY_DOWN, 
+&ev);
+         }
      }
 }
 
@@ -460,7 +474,9 @@
    if (e->events_frozen > 0) return;
      {
        Evas_Event_Key_Up ev;
+       Evas_Object *focused_obj;
 
+       focused_obj = e->focused;
        ev.keyname = (char *)keyname;
        ev.data = (void *)data;
        ev.modifiers = &(e->modifiers);
@@ -480,13 +496,17 @@
                         (g->not_modifiers == ~e->modifiers.mask))) &&
                      (!strcmp(keyname, g->keyname)))
                    {
-                      evas_object_event_callback_call(g->object, 
EVAS_CALLBACK_KEY_UP, &ev);
+                      if (!e->events_frozen)
+                        evas_object_event_callback_call(g->object, 
+EVAS_CALLBACK_KEY_UP, &ev);
                       if (g->exclusive) return;
                    }                 
               }
          }
-       if (e->focused)
-         evas_object_event_callback_call(e->focused, EVAS_CALLBACK_KEY_UP, &ev);
+       if (focused_obj)
+         {
+            if (!e->events_frozen)
+              evas_object_event_callback_call(focused_obj, EVAS_CALLBACK_KEY_UP, &ev);
+         }
      }
 }
 




-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to