Enlightenment CVS committal

Author  : kwo
Project : e16
Module  : e

Dir     : e16/e/src


Modified Files:
        desktops.c ewins.c focus.c focus.h 


Log Message:
Fix set/unset of raise grabs in certain situations.

===================================================================
RCS file: /cvs/e/e16/e/src/desktops.c,v
retrieving revision 1.262
retrieving revision 1.263
diff -u -3 -r1.262 -r1.263
--- desktops.c  11 Jul 2007 08:54:19 -0000      1.262
+++ desktops.c  11 Jul 2007 09:30:58 -0000      1.263
@@ -1484,7 +1484,7 @@
      {
        dsk->stack.update_client_list = 0;
        HintsSetClientStacking();
-       FocusGrabsUpdate();
+       ClickGrabsUpdate();
      }
    dsk->stack.dirty = 0;
    dsk->stack.latest = NULL;
===================================================================
RCS file: /cvs/e/e16/e/src/ewins.c,v
retrieving revision 1.205
retrieving revision 1.206
diff -u -3 -r1.205 -r1.206
--- ewins.c     11 Jul 2007 09:16:46 -0000      1.205
+++ ewins.c     11 Jul 2007 09:30:58 -0000      1.206
@@ -1420,7 +1420,10 @@
       Efree(lst);
 
    if (call_depth == 1)
-      ModulesSignal(ESIGNAL_EWIN_CHANGE, ewin);
+     {
+       ModulesSignal(ESIGNAL_EWIN_CHANGE, ewin);
+       ClickGrabsUpdate();
+     }
 
  done:
    call_depth--;
@@ -1453,7 +1456,10 @@
       Efree(lst);
 
    if (call_depth == 1)
-      ModulesSignal(ESIGNAL_EWIN_CHANGE, ewin);
+     {
+       ModulesSignal(ESIGNAL_EWIN_CHANGE, ewin);
+       ClickGrabsUpdate();
+     }
 
  done:
    call_depth--;
===================================================================
RCS file: /cvs/e/e16/e/src/focus.c,v
retrieving revision 1.166
retrieving revision 1.167
diff -u -3 -r1.166 -r1.167
--- focus.c     17 Jun 2007 19:27:10 -0000      1.166
+++ focus.c     11 Jul 2007 09:30:58 -0000      1.167
@@ -39,7 +39,7 @@
 
 static char         focus_inhibit = 1;
 static char         focus_is_set = 0;
-static char         focus_pending_update_grabs = 0;
+static char         click_pending_update_grabs = 0;
 static int          focus_pending_why = 0;
 static EWin        *focus_pending_ewin = NULL;
 static EWin        *focus_pending_new = NULL;
@@ -208,16 +208,11 @@
 }
 
 static void
-FocusEwinSetGrabs(EWin * ewin)
+ClickGrabsSet(EWin * ewin)
 {
    int                 set = 0;
 
-   if ((
-#if 0                          /* FIXME - Remove? */
-         (Conf.focus.mode == MODE_FOCUS_CLICK || ewin->props.focusclick) &&
-#endif
-         !ewin->state.active) ||
-       (Conf.focus.clickraises && !EwinListStackIsRaised(ewin)))
+   if (Conf.focus.clickraises && !EwinListStackIsRaised(ewin))
       set = 1;
 
    if (set)
@@ -227,7 +222,7 @@
             GrabButtonSet(AnyButton, AnyModifier, EwinGetContainerWin(ewin),
                           ButtonPressMask, ECSR_PGRAB, 1);
             if (EDebug(EDBUG_TYPE_GRABS))
-               Eprintf("FocusEwinSetGrabs: %#lx set %s\n",
+               Eprintf("ClickGrabsSet: %#lx set %s\n",
                        EwinGetClientXwin(ewin), EwinGetTitle(ewin));
             ewin->state.click_grab_isset = 1;
          }
@@ -239,7 +234,7 @@
             GrabButtonRelease(AnyButton, AnyModifier,
                               EwinGetContainerWin(ewin));
             if (EDebug(EDBUG_TYPE_GRABS))
-               Eprintf("FocusEwinSetGrabs: %#lx unset %s\n",
+               Eprintf("ClickGrabsSet: %#lx unset %s\n",
                        EwinGetClientXwin(ewin), EwinGetTitle(ewin));
             ewin->state.click_grab_isset = 0;
          }
@@ -256,8 +251,6 @@
    EwinBorderUpdateState(ewin);
    EwinUpdateOpacity(ewin);
 
-   FocusGrabsUpdate();
-
    if (active && ewin->state.attention)
      {
        ewin->state.attention = 0;
@@ -266,7 +259,7 @@
 }
 
 static void
-doFocusGrabsUpdate(void)
+doClickGrabsUpdate(void)
 {
    EWin               *const *lst, *ewin;
    int                 i, num;
@@ -275,15 +268,15 @@
    for (i = 0; i < num; i++)
      {
        ewin = lst[i];
-       FocusEwinSetGrabs(ewin);
+       ClickGrabsSet(ewin);
      }
-   focus_pending_update_grabs = 0;
+   click_pending_update_grabs = 0;
 }
 
 void
-FocusGrabsUpdate(void)
+ClickGrabsUpdate(void)
 {
-   focus_pending_update_grabs = 1;
+   click_pending_update_grabs = 1;
 }
 
 static void
@@ -623,10 +616,7 @@
    if (Conf.focus.clickraises)
       EwinRaise(ewin);
 
-#if 0                          /* FIXME - Remove? */
-   if (Conf.focus.mode == MODE_FOCUS_CLICK || ewin->props.focusclick)
-#endif
-      FocusToEWin(ewin, FOCUS_CLICK);
+   FocusToEWin(ewin, FOCUS_CLICK);
 
    /* Allow click to pass thorugh */
    if (EDebug(EDBUG_TYPE_GRABS))
@@ -687,7 +677,7 @@
        Conf.warplist.icon_mode = tmp_warp_icon_mode;
 
        Conf.focus.clickraises = tmp_clickalways;
-       FocusGrabsUpdate();
+       ClickGrabsUpdate();
      }
    autosave();
 }
@@ -881,8 +871,8 @@
 {
    if (!focus_inhibit && focus_pending_why)
       FocusSet();
-   if (focus_pending_update_grabs)
-      doFocusGrabsUpdate();
+   if (click_pending_update_grabs)
+      doClickGrabsUpdate();
 }
 
 static void
@@ -978,7 +968,7 @@
        if (Conf.focus.mode != mode)
          {
             Conf.focus.mode = mode;
-            FocusGrabsUpdate();
+            ClickGrabsUpdate();
             autosave();
          }
      }
===================================================================
RCS file: /cvs/e/e16/e/src/focus.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- focus.h     13 Jan 2007 19:14:27 -0000      1.2
+++ focus.h     11 Jul 2007 09:30:58 -0000      1.3
@@ -46,7 +46,8 @@
 void                FocusHandleClick(EWin * ewin, Win win);
 void                FocusNewDeskBegin(void);
 void                FocusNewDesk(void);
-void                FocusGrabsUpdate(void);
+
+void                ClickGrabsUpdate(void);
 
 /* warp.c */
 void                WarpFocus(int delta);



-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to