Enlightenment CVS committal Author : kwo Project : e16 Module : e
Dir : e16/e/src Modified Files: desktops.c desktops.h ewins.c ewins.h Log Message: Don't mask off events while switching area/desk. The amount of enter/leave events during switches has been reduced considerably, and changing the event masks causes more trouble than worth while (I think...). =================================================================== RCS file: /cvs/e/e16/e/src/desktops.c,v retrieving revision 1.264 retrieving revision 1.265 diff -u -3 -r1.264 -r1.265 --- desktops.c 18 Jul 2007 11:09:49 -0000 1.264 +++ desktops.c 23 Jul 2007 18:59:42 -0000 1.265 @@ -343,30 +343,6 @@ } static void -DeskEventsConfigure(Desk * dsk, int mode) -{ - long event_mask; - XWindowAttributes xwa; - Win win; - - win = EobjGetWin(dsk->bg.o); - - if (mode) - { - event_mask = dsk->event_mask; - } - else - { - EXGetWindowAttributes(win, &xwa); - dsk->event_mask = xwa.your_event_mask | EDESK_EVENT_MASK; - event_mask = - PropertyChangeMask | SubstructureRedirectMask | - ButtonPressMask | ButtonReleaseMask; - } - ESelectInput(win, event_mask); -} - -static void DeskConfigure(Desk * dsk) { Background *bg; @@ -461,6 +437,11 @@ if (configure) DeskConfigure(dsk); + if (desk == 0) + ESelectInputChange(EoGetWin(dsk), EDESK_EVENT_MASK, 0); + else + ESelectInput(EoGetWin(dsk), EDESK_EVENT_MASK); + return dsk; } @@ -855,15 +836,6 @@ } static void -DesksEventsConfigure(int mode) -{ - unsigned int i; - - for (i = 0; i < Conf.desks.num; i++) - DeskEventsConfigure(_DeskGet(i), mode); -} - -static void ChangeNumberOfDesktops(unsigned int quantity) { unsigned int i; @@ -1202,21 +1174,12 @@ { FocusNewDeskBegin(); - /* we are about to flip desktops or areas - disable enter and leave events - * temporarily */ - EwinsEventsConfigure(0); - DesksEventsConfigure(0); - TooltipsSetPending(1, NULL, NULL); } static void DeskSwitchDone(void) { - /* we flipped - re-enable enter and leave events */ - EwinsEventsConfigure(1); - DesksEventsConfigure(1); - FocusNewDesk(); } =================================================================== RCS file: /cvs/e/e16/e/src/desktops.h,v retrieving revision 1.29 retrieving revision 1.30 diff -u -3 -r1.29 -r1.30 --- desktops.h 13 Jan 2007 19:14:27 -0000 1.29 +++ desktops.h 23 Jul 2007 18:59:42 -0000 1.30 @@ -43,7 +43,6 @@ Button *tag; int current_area_x; int current_area_y; - long event_mask; struct { Background *bg; =================================================================== RCS file: /cvs/e/e16/e/src/ewins.c,v retrieving revision 1.207 retrieving revision 1.208 diff -u -3 -r1.207 -r1.208 --- ewins.c 18 Jul 2007 11:09:49 -0000 1.207 +++ ewins.c 23 Jul 2007 18:59:42 -0000 1.208 @@ -2058,17 +2058,6 @@ return lst; } -void -EwinsEventsConfigure(int mode) -{ - EWin *const *lst; - int i, num; - - lst = EwinListGetAll(&num); - for (i = 0; i < num; i++) - EwinEventsConfigure(lst[i], mode); -} - static void EwinsTouch(Desk * dsk) { =================================================================== RCS file: /cvs/e/e16/e/src/ewins.h,v retrieving revision 1.77 retrieving revision 1.78 diff -u -3 -r1.77 -r1.78 --- ewins.h 11 Jul 2007 09:05:43 -0000 1.77 +++ ewins.h 23 Jul 2007 18:59:42 -0000 1.78 @@ -393,7 +393,6 @@ EWin **EwinListTransients(const EWin * ewin, int *num, int group); EWin **EwinListTransientFor(const EWin * ewin, int *num); -void EwinsEventsConfigure(int mode); void EwinsManage(void); void EwinsSetFree(void); void EwinsShowDesktop(int on); ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs