Enlightenment CVS committal

Author  : raster
Project : e17
Module  : libs/ecore

Dir     : e17/libs/ecore/src/lib/ecore_x


Modified Files:
        ecore_x_dnd.c ecore_x_window.c 


Log Message:


fix valgrind complaint (bad! its a string but its not 0 byte terminated!!!
its just a data lump!).

compact the lists of child windows down based on results of scan of children.

printf--

===================================================================
RCS file: /cvs/e/e17/libs/ecore/src/lib/ecore_x/ecore_x_dnd.c,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -3 -r1.31 -r1.32
--- ecore_x_dnd.c       18 Aug 2007 10:35:47 -0000      1.31
+++ ecore_x_dnd.c       5 Oct 2007 12:39:06 -0000       1.32
@@ -124,8 +124,9 @@
    if (!data || !size)
      return 0;
 
-   if (!(mystr = strdup(data)))
-     return 0;
+   mystr = calloc(1, size + 1);
+   if (!mystr) return 0;
+   memcpy(mystr, data, size);
 
    if (XmbTextListToTextProperty(_ecore_x_disp, &mystr, 1, style, &text_prop) 
== Success)
      {
===================================================================
RCS file: /cvs/e/e17/libs/ecore/src/lib/ecore_x/ecore_x_window.c,v
retrieving revision 1.54
retrieving revision 1.55
diff -u -3 -r1.54 -r1.55
--- ecore_x_window.c    5 Oct 2007 12:24:32 -0000       1.54
+++ ecore_x_window.c    5 Oct 2007 12:39:06 -0000       1.55
@@ -729,12 +729,11 @@
 {
    Window           *list = NULL;
    Window            parent_win = 0, root_win = 0;
-   int               i;
+   int               i, j;
    unsigned int      num;
-   Shadow           *s;
+   Shadow           *s, **sl;
    XWindowAttributes att;
 
-   printf("_ecore_x_window_tree_walk(%x)\n", win);
    if (!XGetWindowAttributes(_ecore_x_disp, win, &att)) return NULL;
 //   if (att.class == InputOnly) return NULL;
    if (att.map_state != IsViewable) return NULL;
@@ -755,9 +754,30 @@
             s->children_num = num;
             for (i = 0; i < num; i++)
               s->children[i] = _ecore_x_window_tree_walk(list[i]);
+            /* compress list down */
+            j = 0;
+            for (i = 0; i < num; i++)
+              {
+                 if (s->children[i])
+                   {
+                      s->children[j] = s->children[i];
+                      j++;
+                   }
+              }
+            if (j == 0)
+              {
+                 free(s->children);
+                 s->children = NULL;
+                 s->children_num = 0;
+              }
+            else
+              {
+                 s->children_num = j;
+                 sl = realloc(s->children, sizeof(Shadow *) * j);
+                 if (sl) s->children = sl;
+              }
          }
      }
-   printf("ADD SHADOW %x %ix%i %i %i\n", s->win, s->w, s->h, s->x, s->y);
    return s;
 }
 



-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to