Enlightenment CVS committal Author : kwo Project : e16 Module : e
Dir : e16/e/src Modified Files: menus.c warp.c Log Message: Simplify handling of top-level windows - part 4. =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/menus.c,v retrieving revision 1.182 retrieving revision 1.183 diff -u -3 -r1.182 -r1.183 --- menus.c 12 Apr 2005 16:43:38 -0000 1.182 +++ menus.c 21 Apr 2005 16:41:55 -0000 1.183 @@ -33,8 +33,7 @@ Menu *list[256]; char clicked; char just_shown; - Window cover_win; - Window win_covered; + EObj *cover_win; } Mode_menus; struct _menustyle @@ -992,42 +991,45 @@ MenuShowMasker(Menu * m) { EWin *ewin; + EObj *eo = Mode_menus.cover_win; ewin = FindEwinByMenu(m); - if ((ewin) && (!Mode_menus.cover_win)) + if (!ewin) + return; + + if (!eo) { - EObj *eo; + eo = EobjWindowCreate(EOBJ_TYPE_EVENT, 0, 0, VRoot.w, VRoot.h, 0, + "Masker"); + if (!eo) + return; - Mode_menus.cover_win = - ECreateEventWindow(ewin->parent, 0, 0, VRoot.w, VRoot.h); - Mode_menus.win_covered = EoGetWin(ewin); - eo = EobjRegister(Mode_menus.cover_win, EOBJ_TYPE_MISC); - EobjSetDesk(eo, EoGetDesk(ewin)); - EobjSetLayer(eo, 2); EobjSetFloating(eo, 1); + EobjSetLayer(eo, 2); EobjListStackLower(eo); - ESelectInput(Mode_menus.cover_win, - ButtonPressMask | ButtonReleaseMask | EnterWindowMask | - LeaveWindowMask); - EMapWindow(Mode_menus.cover_win); - EventCallbackRegister(Mode_menus.cover_win, 0, MenuMaskerHandleEvents, - NULL); + ESelectInput(eo->win, ButtonPressMask | ButtonReleaseMask | + EnterWindowMask | LeaveWindowMask); + EventCallbackRegister(eo->win, 0, MenuMaskerHandleEvents, NULL); #if 1 /* FIXME - Too expensive */ StackDesktop(EoGetDesk(ewin)); #endif + Mode_menus.cover_win = eo; } + + EobjMap(eo, 1); } static void MenuHideMasker(void) { - if (Mode_menus.cover_win) - { - EobjUnregister(Mode_menus.cover_win); - EDestroyWindow(Mode_menus.cover_win); - Mode_menus.cover_win = 0; - Mode_menus.win_covered = 0; - } + EObj *eo = Mode_menus.cover_win; + + if (!eo) + return; + + EventCallbackUnregister(eo->win, 0, MenuMaskerHandleEvents, NULL); + EobjWindowDestroy(eo); + Mode_menus.cover_win = NULL; } static void =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/warp.c,v retrieving revision 1.58 retrieving revision 1.59 diff -u -3 -r1.58 -r1.59 --- warp.c 17 Apr 2005 13:58:09 -0000 1.58 +++ warp.c 21 Apr 2005 16:41:57 -0000 1.59 @@ -227,8 +227,7 @@ #if 0 /* We might as well keep it around */ EventCallbackUnregister(warpFocusWindow->win, 0, WarpFocusHandleEvent, NULL); - EDestroyWindow(warpFocusWindow->win); - EobjDestroy(warpFocusWindow); + EobjWindowDestroy(warpFocusWindow); warpFocusWindow = None; #endif ------------------------------------------------------- This SF.Net email is sponsored by: New Crystal Reports XI. Version 11 adds new functionality designed to reduce time involved in creating, integrating, and deploying reporting solutions. Free runtime info, new features, or free trial, at: http://www.businessobjects.com/devxi/728 _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs