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