Enlightenment CVS committal

Author  : kwo
Project : e16
Module  : e

Dir     : e16/e/src


Modified Files:
        evhandlers.c focus.c grabs.c 


Log Message:
Still more pointer grab stuff.
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/evhandlers.c,v
retrieving revision 1.176
retrieving revision 1.177
diff -u -3 -r1.176 -r1.177
--- evhandlers.c        31 Aug 2004 17:24:40 -0000      1.176
+++ evhandlers.c        27 Nov 2004 13:29:39 -0000      1.177
@@ -552,6 +552,14 @@
 
    EDBUG(5, "HandleMouseIn");
 
+   if (ev->xcrossing.mode == NotifyGrab &&
+       ev->xcrossing.detail == NotifyInferior)
+     {
+       Mode.grabs.pointer_grab_window = win;
+       if (!Mode.grabs.pointer_grab_active)
+          Mode.grabs.pointer_grab_active = 2;
+     }
+
    if (Mode.mode != MODE_NONE)
       EDBUG_RETURN_;
 
@@ -591,6 +599,13 @@
 
    EDBUG(5, "HandleMouseOut");
 
+   if (ev->xcrossing.mode == NotifyGrab &&
+       ev->xcrossing.detail == NotifyInferior)
+     {
+       Mode.grabs.pointer_grab_window = None;
+       Mode.grabs.pointer_grab_active = 0;
+     }
+
    if (Mode.mode != MODE_NONE)
       EDBUG_RETURN_;
 
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/focus.c,v
retrieving revision 1.84
retrieving revision 1.85
diff -u -3 -r1.84 -r1.85
--- focus.c     14 Aug 2004 18:50:27 -0000      1.84
+++ focus.c     27 Nov 2004 13:29:39 -0000      1.85
@@ -470,6 +470,8 @@
        FocusToEWin(ewin, FOCUS_CLICK);
 
        /* allow click to pass thorugh */
+       if (EventDebug(EDBUG_TYPE_GRABS))
+          Eprintf("FocusHandleClick %#lx %#lx\n", win, ewin->win_container);
        if (win == ewin->win_container)
          {
             XSync(disp, False);
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/grabs.c,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -3 -r1.20 -r1.21
--- grabs.c     20 Nov 2004 17:55:12 -0000      1.20
+++ grabs.c     27 Nov 2004 13:29:39 -0000      1.21
@@ -95,9 +95,6 @@
    int                 ret = -1;
    Window              confine_to = (confine) ? win : None;
 
-   if (Mode.grabs.pointer_grab_active)
-      goto done;
-
    ret = XGrabPointer(disp, win, True,
                      ButtonPressMask | ButtonReleaseMask | PointerMotionMask |
                      ButtonMotionMask | EnterWindowMask | LeaveWindowMask,
@@ -107,7 +104,6 @@
    Mode.grabs.pointer_grab_window = win;
    Mode.grabs.pointer_grab_active = 1;
 
- done:
    if (EventDebug(EDBUG_TYPE_GRABS))
       Eprintf("GrabPointerSet: %#lx, ret=%d\n", Mode.grabs.pointer_grab_window,
              ret);
@@ -118,12 +114,8 @@
 void
 GrabPointerRelease(void)
 {
-   if (!Mode.grabs.pointer_grab_active)
-      goto done;
-
    XUngrabPointer(disp, CurrentTime);
 
- done:
    if (EventDebug(EDBUG_TYPE_GRABS))
       Eprintf("GrabPointerRelease: %#lx\n", Mode.grabs.pointer_grab_window);
 




-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. 
http://productguide.itmanagersjournal.com/
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to