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

Reply via email to