Enlightenment CVS committal Author : kwo Project : e16 Module : e
Dir : e16/e/src Modified Files: E.h aclass.c events.c ewins.c Log Message: Event handling tweaks. Global action events must occur on root window. =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/E.h,v retrieving revision 1.490 retrieving revision 1.491 diff -u -3 -r1.490 -r1.491 --- E.h 10 Sep 2005 18:24:20 -0000 1.490 +++ E.h 10 Sep 2005 21:24:26 -0000 1.491 @@ -904,7 +904,7 @@ Action *ActionclassGetAction(ActionClass * ac, int ix); int ActionclassEvent(ActionClass * ac, XEvent * ev, EWin * ewin); -int ActionclassesEvent(XEvent * ev, EWin * ewin); +int ActionclassesGlobalEvent(XEvent * ev); const char *ActionGetTooltipString(Action * aa); int ActionGetAnybutton(Action * aa); =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/aclass.c,v retrieving revision 1.20 retrieving revision 1.21 diff -u -3 -r1.20 -r1.21 --- aclass.c 14 Aug 2005 21:25:46 -0000 1.20 +++ aclass.c 10 Sep 2005 21:24:26 -0000 1.21 @@ -492,6 +492,10 @@ event = EVENT_MOUSE_ENTER; else if (!strcmp(ev, "MouseOut")) event = EVENT_MOUSE_LEAVE; + else if (!strcmp(ev, "FocusIn")) + event = EVENT_FOCUS_IN; + else if (!strcmp(ev, "FocusOut")) + event = EVENT_FOCUS_OUT; anymod = anybut = anykey = 0; button = 0; @@ -980,7 +984,7 @@ } int -ActionclassesEvent(XEvent * ev, EWin * ewin) +ActionclassesGlobalEvent(XEvent * ev) { ActionClass **lst; int i, num, match; @@ -991,7 +995,7 @@ match = 0; for (i = 0; i < num; i++) - match |= ActionclassEvent(lst[i], ev, ewin); + match |= ActionclassEvent(lst[i], ev, GetFocusEwin()); Efree(lst); =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/events.c,v retrieving revision 1.102 retrieving revision 1.103 diff -u -3 -r1.102 -r1.103 --- events.c 4 Sep 2005 12:43:13 -0000 1.102 +++ events.c 10 Sep 2005 21:24:26 -0000 1.103 @@ -23,9 +23,7 @@ */ #include "E.h" #include "emodule.h" -#include "ewins.h" /* FIXME - Should not be here */ #include "xwin.h" -#include <errno.h> #include <sys/time.h> #if USE_XRANDR #include <X11/extensions/Xrandr.h> @@ -225,12 +223,9 @@ Mode.events.time = ev->xproperty.time; break; - case ClientMessage: - HintsProcessClientMessage(&(ev->xclient)); - break; - do_stuff: - ActionclassesEvent(ev, GetFocusEwin()); + if (ev->xany.window == VRoot.win) + ActionclassesGlobalEvent(ev); break; } =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/ewins.c,v retrieving revision 1.103 retrieving revision 1.104 diff -u -3 -r1.103 -r1.104 --- ewins.c 4 Sep 2005 12:43:13 -0000 1.103 +++ ewins.c 10 Sep 2005 21:24:26 -0000 1.104 @@ -1883,6 +1883,10 @@ EwinEventReparent(ewin); break; + case ClientMessage: + HintsProcessClientMessage(&(ev->xclient)); + break; + default: #if 0 Eprintf("EwinHandleEventsRoot: type=%2d win=%#lx\n", ------------------------------------------------------- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs