Enlightenment CVS committal

Author  : kwo
Project : e16
Module  : e

Dir     : e16/e/src


Modified Files:
        E.h buttons.c desktops.c ecompmgr.c ewins.c 


Log Message:
Fix adding desks, avoid some X-errors, cleanups.
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/E.h,v
retrieving revision 1.479
retrieving revision 1.480
diff -u -3 -r1.479 -r1.480
--- E.h 13 Aug 2005 08:50:27 -0000      1.479
+++ E.h 13 Aug 2005 16:23:59 -0000      1.480
@@ -1142,13 +1142,8 @@
 void                DeskGetCurrentArea(int *ax, int *ay);
 Window              DeskGetCurrentRoot(void);
 void                DeskSetCurrentArea(int ax, int ay);
-int                 DesksGetNumber(void);
-int                 DesksGetCurrent(void);
-void                DesksSetCurrent(int desk);
-void                DesksResize(int w, int h);
 
 void                DeskRefresh(int num);
-void                DesksRefresh(void);
 void                DeskAssignBg(int desk, Background * bg);
 void                DeskSetBg(int desk, Background * bg, int refresh);
 int                 DesktopAt(int x, int y);
@@ -1157,10 +1152,16 @@
 void                DeskShow(int num);
 void                StackDesktop(int num);
 void                DeskGotoByEwin(EWin * ewin);
-void                DesksEventsConfigure(int mode);
 void                DeskDragStart(int desk);
 void                DeskDragMotion(void);
 
+int                 DesksGetNumber(void);
+int                 DesksGetCurrent(void);
+void                DesksSetCurrent(int desk);
+void                DesksClear(void);
+void                DesksResize(int w, int h);
+void                DesksEventsConfigure(int mode);
+
 /* dialog.c */
 typedef void        (DialogCallbackFunc) (Dialog * d, int val, void *data);
 typedef void        (DialogItemCallbackFunc) (int val, void *data);
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/buttons.c,v
retrieving revision 1.68
retrieving revision 1.69
diff -u -3 -r1.68 -r1.69
--- buttons.c   16 Jul 2005 16:57:38 -0000      1.68
+++ buttons.c   13 Aug 2005 16:23:59 -0000      1.69
@@ -159,9 +159,7 @@
    while (RemoveItemByPtr(b, LIST_TYPE_BUTTON));
 
    EobjFini(&b->o);
-
-   if (EoGetWin(b))
-      EDestroyWindow(EoGetWin(b));
+   EDestroyWindow(EoGetWin(b));
 
    if (b->iclass)
       b->iclass->ref_count--;
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/desktops.c,v
retrieving revision 1.163
retrieving revision 1.164
diff -u -3 -r1.163 -r1.164
--- desktops.c  13 Aug 2005 08:50:28 -0000      1.163
+++ desktops.c  13 Aug 2005 16:23:59 -0000      1.164
@@ -390,7 +390,10 @@
    DeskSetBg(d->num, bg, 0);
 
    if (d->num > 0)
-      EoMap(d, 0);
+     {
+       EoMove(d, VRoot.w, 0);
+       EoMap(d, 0);
+     }
 
    ModulesSignal(ESIGNAL_DESK_ADDED, ((void *)(long)(d->num)));
 }
@@ -470,9 +473,8 @@
    if (d->bg)
       BackgroundDecRefcount(d->bg);
 
-   EDestroyWindow(EoGetWin(d));
-
    EobjFini(&d->o);
+   EDestroyWindow(EoGetWin(d));
 
    desks.desk[d->num] = NULL;
    Efree(d);
@@ -610,6 +612,20 @@
 }
 
 void
+DesksClear(void)
+{
+   Desk               *d;
+   int                 i;
+
+   for (i = 0; i < Conf.desks.num; i++)
+     {
+       d = _DeskGet(i);
+       if (d->viewable)
+          EClearWindow(EoGetWin(d));
+     }
+}
+
+void
 DesksResize(int w, int h)
 {
    int                 i;
@@ -840,20 +856,6 @@
 }
 
 void
-DesksRefresh(void)
-{
-   Desk               *d;
-   int                 i;
-
-   for (i = 0; i < Conf.desks.num; i++)
-     {
-       d = _DeskGet(i);
-       if (d->bg)
-          DeskSetBg(i, d->bg, 1);
-     }
-}
-
-void
 DeskAssignBg(int desk, Background * bg)
 {
    if (desk < 0 || desk >= ENLIGHTENMENT_CONF_NUM_DESKTOPS)
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/ecompmgr.c,v
retrieving revision 1.51
retrieving revision 1.52
diff -u -3 -r1.51 -r1.52
--- ecompmgr.c  10 Aug 2005 19:23:58 -0000      1.51
+++ ecompmgr.c  13 Aug 2005 16:23:59 -0000      1.52
@@ -436,7 +436,6 @@
 
    D1printf("DeskBackgroundPictureFree: Desk %d: pict=%#lx\n", d->num, pict);
 
-   XClearArea(disp, EoGetWin(d), 0, 0, 0, 0, False);
    XRenderFreePicture(disp, pict);
 
    cw->picture = None;
@@ -1781,6 +1780,7 @@
    D1printf("ECompMgrDeskChanged: desk=%d\n", desk);
 
    DeskBackgroundPictureFree(d);
+   ECompMgrDamageAll();
 }
 
 #if ENABLE_SHADOWS
@@ -1935,6 +1935,9 @@
       XCompositeUnredirectSubwindows(disp, VRoot.win, CompositeRedirectManual);
 
    EventCallbackUnregister(VRoot.win, 0, ECompMgrHandleRootEvent, NULL);
+
+   if (Conf_compmgr.shadow != ECM_SHADOWS_OFF)
+      DesksClear();
 }
 
 void
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/ewins.c,v
retrieving revision 1.94
retrieving revision 1.95
diff -u -3 -r1.94 -r1.95
--- ewins.c     10 Aug 2005 19:33:33 -0000      1.94
+++ ewins.c     13 Aug 2005 16:23:59 -0000      1.95
@@ -219,6 +219,7 @@
    EobjListOrderDel(&ewin->o);
    EobjListFocusDel(&ewin->o);
    EobjFini(&ewin->o);
+   EDestroyWindow(EoGetWin(ewin));
 
    HintsSetClientList();
 
@@ -244,8 +245,6 @@
    if (ewin->ewmh.wm_icon)
       Efree(ewin->ewmh.wm_icon);
 #endif
-   if (EoGetWin(ewin))
-      EDestroyWindow(EoGetWin(ewin));
    if (ewin->bits)
       Efree(ewin->bits);
    if (ewin->session_id)




-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to