Enlightenment CVS committal

Author  : kwo
Project : e16
Module  : e

Dir     : e16/e/src


Modified Files:
        ecompmgr.c ecompmgr.h eobj.c eobj.h progress.c 


Log Message:
Fix progress bars with composite enabled.

===================================================================
RCS file: /cvs/e/e16/e/src/ecompmgr.c,v
retrieving revision 1.113
retrieving revision 1.114
diff -u -3 -r1.113 -r1.114
--- ecompmgr.c  21 Apr 2006 22:52:58 -0000      1.113
+++ ecompmgr.c  22 Apr 2006 13:57:54 -0000      1.114
@@ -1569,6 +1569,15 @@
      }
 }
 
+void
+ECompMgrWinDamageArea(EObj * eo, int x __UNUSED__, int y __UNUSED__,
+                     int w __UNUSED__, int h __UNUSED__)
+{
+   ECmWinInfo         *cw = eo->cmhook;
+
+   ECompMgrDamageMergeObject(eo, cw->shape, 0);
+}
+
 static void
 ECompMgrWinConfigure(EObj * eo, XEvent * ev)
 {
===================================================================
RCS file: /cvs/e/e16/e/src/ecompmgr.h,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -3 -r1.28 -r1.29
--- ecompmgr.h  6 Apr 2006 21:20:16 -0000       1.28
+++ ecompmgr.h  22 Apr 2006 13:57:54 -0000      1.29
@@ -48,6 +48,8 @@
 void                ECompMgrWinUnmap(EObj * eo);
 void                ECompMgrWinMoveResize(EObj * eo, int change_xy,
                                          int change_wh, int change_bw);
+void                ECompMgrWinDamageArea(EObj * eo, int x, int y, int w,
+                                         int h);
 void                ECompMgrWinReparent(EObj * eo, Desk * dsk, int change_xy);
 void                ECompMgrWinRaise(EObj * eo);
 void                ECompMgrWinLower(EObj * eo);
===================================================================
RCS file: /cvs/e/e16/e/src/eobj.c,v
retrieving revision 1.70
retrieving revision 1.71
diff -u -3 -r1.70 -r1.71
--- eobj.c      18 Apr 2006 17:57:58 -0000      1.70
+++ eobj.c      22 Apr 2006 13:57:54 -0000      1.71
@@ -410,6 +410,15 @@
 }
 
 void
+EobjDamage(EObj * eo)
+{
+#if USE_COMPOSITE
+   if (eo->cmhook)
+      ECompMgrWinDamageArea(eo, 0, 0, eo->w, eo->h);
+#endif
+}
+
+void
 EobjReparent(EObj * eo, EObj * dst, int x, int y)
 {
    int                 move;
===================================================================
RCS file: /cvs/e/e16/e/src/eobj.h,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -3 -r1.26 -r1.27
--- eobj.h      18 Apr 2006 16:26:51 -0000      1.26
+++ eobj.h      22 Apr 2006 13:57:54 -0000      1.27
@@ -143,6 +143,7 @@
 void                EobjMove(EObj * eo, int x, int y);
 void                EobjResize(EObj * eo, int w, int h);
 void                EobjMoveResize(EObj * eo, int x, int y, int w, int h);
+void                EobjDamage(EObj * eo);
 void                EobjReparent(EObj * eo, EObj * dst, int x, int y);
 int                 EobjRaise(EObj * eo);
 int                 EobjLower(EObj * eo);
===================================================================
RCS file: /cvs/e/e16/e/src/progress.c,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -3 -r1.31 -r1.32
--- progress.c  22 Apr 2006 13:24:51 -0000      1.31
+++ progress.c  22 Apr 2006 13:57:54 -0000      1.32
@@ -67,6 +67,9 @@
        ProgressbarDestroy(p);
        return NULL;
      }
+   p->win->fade = 0;
+   p->n_win->fade = 0;
+   p->p_win->fade = 0;
 
    p->ic = ImageclassFind("PROGRESS_BAR", 1);
    if (p->ic)
@@ -96,6 +99,8 @@
 {
    int                 i, j, dy;
 
+   ProgressbarHide(p);
+
    dy = 2 * p->h;
    EobjWindowDestroy(p->win);
    EobjWindowDestroy(p->n_win);
@@ -175,8 +180,10 @@
            pad->left, pad->top, p->h * 5 - (pad->left + pad->right),
            p->h - (pad->top + pad->bottom), p->h - (pad->top + pad->bottom),
            TextclassGetJustification(p->tnc));
+   /* Hack - We may not be running in the event loop here */
+   EobjDamage(p->n_win);
 
-   EFlush();
+   EobjsRepaint();
 }
 
 void
@@ -201,7 +208,7 @@
            p->h - (pad->top + pad->bottom), p->h - (pad->top + pad->bottom),
            TextclassGetJustification(p->tnc));
 
-   EFlush();
+   EobjsRepaint();
 }
 
 void




-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to