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