Enlightenment CVS committal Author : kwo Project : e16 Module : e
Dir : e16/e/src Modified Files: menus.c Log Message: Another transparent menu drawing fix. =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/menus.c,v retrieving revision 1.143 retrieving revision 1.144 diff -u -3 -r1.143 -r1.144 --- menus.c 4 Jul 2004 13:27:42 -0000 1.143 +++ menus.c 4 Jul 2004 22:36:57 -0000 1.144 @@ -163,6 +163,9 @@ if (!m) return; + if (Conf.theme.transparency) + m->redraw = 1; + if ((!m->style->use_item_bg && m->pmm.pmap == 0) || m->redraw) MenuRedraw(m); } @@ -545,8 +548,7 @@ EDBUG(5, "MenuRepack"); - m->redraw = (Conf.theme.transparency || - IclassIsTransparent(m->style->bg_iclass)) ? 1 : -1; + m->redraw = 1; if (m->win) MenuRealize(m); @@ -801,8 +803,7 @@ mmh += m->style->bg_iclass->padding.bottom; } - m->redraw = (Conf.theme.transparency || - IclassIsTransparent(m->style->bg_iclass)) ? 1 : -1; + m->redraw = 1; EResizeWindow(disp, m->win, mmw, mmh); Mode.queue_up = pq; @@ -812,7 +813,18 @@ static void MenuRedraw(Menu * m) { - int i, w, h; + int i, j, w, h; + + if (m->redraw) + { + for (i = 0; i < m->num; i++) + { + for (j = 0; j < 3; j++) + FreePmapMask(&(m->items[i]->pmm[j])); + + } + m->redraw = 0; + } if (!m->style->use_item_bg) { @@ -832,9 +844,6 @@ MenuDrawItem(m, m->items[i], 0); PropagateShapes(m->win); } - - if (m->redraw < 0) - m->redraw = 0; } static void @@ -849,9 +858,6 @@ mi_pmm = &(mi->pmm[(int)(mi->state)]); - if (m->redraw) - FreePmapMask(mi_pmm); - if (!mi_pmm->pmap) { GC gc; ------------------------------------------------------- This SF.Net email sponsored by Black Hat Briefings & Training. Attend Black Hat Briefings & Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com _______________________________________________ enlightenment-cvs mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs