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

Reply via email to