Enlightenment CVS committal Author : kwo Project : e16 Module : e
Dir : e16/e/src Modified Files: E.h ecompmgr.c ecompmgr.h eobj.c events.c iconify.c menus.c misc.c Log Message: Fix segvs and memleak. =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/E.h,v retrieving revision 1.426 retrieving revision 1.427 diff -u -3 -r1.426 -r1.427 --- E.h 12 May 2005 19:02:12 -0000 1.426 +++ E.h 14 May 2005 09:19:49 -0000 1.427 @@ -1547,6 +1547,7 @@ int EobjRaise(EObj * eo); int EobjLower(EObj * eo); void EobjChangeShape(EObj * eo); +void EobjsRepaint(void); #if USE_COMPOSITE Pixmap EobjGetPixmap(const EObj * eo); =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/ecompmgr.c,v retrieving revision 1.28 retrieving revision 1.29 diff -u -3 -r1.28 -r1.29 --- ecompmgr.c 8 May 2005 09:52:26 -0000 1.28 +++ ecompmgr.c 14 May 2005 09:19:50 -0000 1.29 @@ -1635,7 +1635,7 @@ } } -static void +void ECompMgrRepaint(void) { Display *dpy = disp; =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/ecompmgr.h,v retrieving revision 1.13 retrieving revision 1.14 diff -u -3 -r1.13 -r1.14 --- ecompmgr.h 8 May 2005 09:52:26 -0000 1.13 +++ ecompmgr.h 14 May 2005 09:19:51 -0000 1.14 @@ -34,6 +34,7 @@ int EVisualIsARGB(Visual * vis); void ECompMgrParseArgs(const char *args); +void ECompMgrRepaint(void); void ECompMgrWinNew(EObj * eo); void ECompMgrWinDel(EObj * eo, Bool gone, Bool do_fade); =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/eobj.c,v retrieving revision 1.28 retrieving revision 1.29 diff -u -3 -r1.28 -r1.29 --- eobj.c 8 May 2005 09:52:26 -0000 1.28 +++ eobj.c 14 May 2005 09:19:51 -0000 1.29 @@ -495,3 +495,12 @@ Efree(xy); } + +void +EobjsRepaint(void) +{ +#if USE_COMPOSITE + ECompMgrRepaint(); + ESync(); +#endif +} =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/events.c,v retrieving revision 1.86 retrieving revision 1.87 diff -u -3 -r1.86 -r1.87 --- events.c 7 May 2005 11:19:57 -0000 1.86 +++ events.c 14 May 2005 09:19:51 -0000 1.87 @@ -560,6 +560,7 @@ return qsz; } +#if 0 /* FIXME - Remove? */ void CheckEvent(void) { @@ -602,6 +603,7 @@ ModulesSignal(ESIGNAL_IDLE, NULL); } +#endif /* * This is the primary event loop. Everything that is going to happen in the =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/iconify.c,v retrieving revision 1.145 retrieving revision 1.146 diff -u -3 -r1.145 -r1.146 --- iconify.c 12 May 2005 19:02:14 -0000 1.145 +++ iconify.c 14 May 2005 09:19:52 -0000 1.146 @@ -717,7 +717,7 @@ ib = SelectIconboxForEwin(ewin); if (ib && ib->animate && !ewin->st.showingdesk) { - CheckEvent(); + EobjsRepaint(); IB_Animate(0, ewin, ib->ewin); } } @@ -3133,13 +3133,18 @@ IconboxObjSwinDel(Iconbox * ib, Window win) { int i; + SWin *swin; i = IconboxObjSwinFind(ib, win); if (i < 0) return; - if (IconboxObjectDel(ib, ib->objs[i].u.swin) == 0) + swin = ib->objs[i].u.swin; + + if (IconboxObjectDel(ib, swin) == 0) IconboxRedraw(ib); + + Efree(swin); } static void =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/menus.c,v retrieving revision 1.191 retrieving revision 1.192 diff -u -3 -r1.191 -r1.192 --- menus.c 12 May 2005 22:38:01 -0000 1.191 +++ menus.c 14 May 2005 09:19:52 -0000 1.192 @@ -1301,7 +1301,7 @@ if (!mi->params) break; MenusHide(); - CheckEvent(); + EobjsRepaint(); SetContextEwin(Mode_menus.context_ewin); EFunc(mi->params); SetContextEwin(NULL); @@ -1376,7 +1376,7 @@ if ((mi->params) /* && (!Mode_menus.just_shown) */ ) { MenusHide(); - CheckEvent(); + EobjsRepaint(); SetContextEwin(Mode_menus.context_ewin); EFunc(mi->params); SetContextEwin(NULL); =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/misc.c,v retrieving revision 1.65 retrieving revision 1.66 diff -u -3 -r1.65 -r1.66 --- misc.c 7 May 2005 11:19:59 -0000 1.65 +++ misc.c 14 May 2005 09:19:54 -0000 1.66 @@ -173,8 +173,7 @@ etl_k = etl_k1 + tm * etl_fac; y = ETimeCurve(etl_k1, etl_k2, etl_k, 2, 1.0); - ESync(); - CheckEvent(); + EobjsRepaint(); return y; } ------------------------------------------------------- This SF.Net email is sponsored by Oracle Space Sweepstakes Want to be the first software developer in space? Enter now for the Oracle Space Sweepstakes! http://ads.osdn.com/?ad_id=7393&alloc_id=16281&op=click _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs