Enlightenment CVS committal

Author  : kwo
Project : e16
Module  : e

Dir     : e16/e/src


Modified Files:
        E.h events.c icccm.c 


Log Message:
Fix some focus issues.
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/E.h,v
retrieving revision 1.481
retrieving revision 1.482
diff -u -3 -r1.481 -r1.482
--- E.h 15 Aug 2005 16:57:10 -0000      1.481
+++ E.h 15 Aug 2005 17:15:18 -0000      1.482
@@ -774,6 +774,7 @@
    } display;
    struct
    {
+      Time                time;
       int                 x, y;
       int                 px, py;
       Time                last_btime;
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/events.c,v
retrieving revision 1.97
retrieving revision 1.98
diff -u -3 -r1.97 -r1.98
--- events.c    15 Aug 2005 16:57:13 -0000      1.97
+++ events.c    15 Aug 2005 17:15:19 -0000      1.98
@@ -169,6 +169,7 @@
      case KeyPress:
        Mode.events.last_keycode = ev->xkey.keycode;
      case KeyRelease:
+       Mode.events.time = ev->xkey.time;
        ModeGetXY(ev->xbutton.root, ev->xkey.x_root, ev->xkey.y_root);
 #if 0                          /* FIXME - Why? */
        if (ev->xkey.root != VRoot.win)
@@ -185,11 +186,17 @@
 
      case ButtonPress:
      case ButtonRelease:
+       Mode.events.time = ev->xbutton.time;
        ModeGetXY(ev->xbutton.root, ev->xbutton.x_root, ev->xbutton.y_root);
        goto do_stuff;
 
+     case MotionNotify:
+       Mode.events.time = ev->xmotion.time;
+       break;
+
      case EnterNotify:
        Mode.context_win = ev->xany.window;
+       Mode.events.time = ev->xcrossing.time;
        if (ev->xcrossing.mode == NotifyGrab &&
            ev->xcrossing.detail == NotifyInferior)
          {
@@ -200,6 +207,7 @@
        goto do_stuff;
 
      case LeaveNotify:
+       Mode.events.time = ev->xcrossing.time;
        if (ev->xcrossing.mode == NotifyGrab &&
            ev->xcrossing.detail == NotifyInferior)
          {
@@ -208,6 +216,10 @@
          }
        goto do_stuff;
 
+     case PropertyNotify:
+       Mode.events.time = ev->xproperty.time;
+       break;
+
       do_stuff:
        TooltipsHandleEvent();  /* TBD */
        ActionclassesEvent(ev, GetFocusEwin());
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/icccm.c,v
retrieving revision 1.107
retrieving revision 1.108
diff -u -3 -r1.107 -r1.108
--- icccm.c     4 Aug 2005 16:01:55 -0000       1.107
+++ icccm.c     15 Aug 2005 17:15:19 -0000      1.108
@@ -326,26 +326,27 @@
    if (EventDebug(EDBUG_TYPE_FOCUS))
      {
        if (ewin)
-          Eprintf("ICCCM_Focus %#lx %s\n", _EwinGetClientXwin(ewin),
-                  EwinGetName(ewin));
+          Eprintf("ICCCM_Focus T=%#lx %#lx %s\n", Mode.events.time,
+                  _EwinGetClientXwin(ewin), EwinGetName(ewin));
        else
-          Eprintf("ICCCM_Focus None\n");
+          Eprintf("ICCCM_Focus None T=%#lx\n", Mode.events.time);
      }
 
    if (!ewin)
      {
-       XSetInputFocus(disp, VRoot.win, RevertToPointerRoot, CurrentTime);
+       XSetInputFocus(disp, VRoot.win, RevertToPointerRoot, Mode.events.time);
        HintsSetActiveWindow(None);
        return;
      }
 
    if (ewin->icccm.take_focus)
      {
-       ecore_x_icccm_take_focus_send(_EwinGetClientXwin(ewin), CurrentTime);
+       ecore_x_icccm_take_focus_send(_EwinGetClientXwin(ewin),
+                                     Mode.events.time);
      }
 
    XSetInputFocus(disp, _EwinGetClientXwin(ewin), RevertToPointerRoot,
-                 CurrentTime);
+                 Mode.events.time);
 
    HintsSetActiveWindow(_EwinGetClientXwin(ewin));
 }




-------------------------------------------------------
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