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