Enlightenment CVS committal

Author  : tsauerbeck
Project : e17
Module  : proto

Dir     : e17/proto/esmart/src/trans


Modified Files:
        esmart_trans.c 


Log Message:
plugged a memleak
===================================================================
RCS file: /cvsroot/enlightenment/e17/proto/esmart/src/trans/esmart_trans.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -3 -r1.12 -r1.13
--- esmart_trans.c      18 Apr 2004 18:03:50 -0000      1.12
+++ esmart_trans.c      18 Apr 2004 18:43:19 -0000      1.13
@@ -11,6 +11,7 @@
 #include <Imlib2.h>
 #include <Ecore.h>
 #include <Ecore_X.h>
+#include <assert.h>
 
 #include "Esmart_Trans.h"
 
@@ -34,7 +35,7 @@
 static Evas_Object *
 _esmart_trans_x11_pixmap_get(Evas *evas, Evas_Object *old, int x, int y, int w, int h)
 {
-   int            ret, current_desk;
+   int            root_list_num, ret, current_desk;
    unsigned char  *data;
    Evas_Object    *new = NULL;
    Ecore_X_Pixmap p;
@@ -57,9 +58,9 @@
    x_virtual_roots = ecore_x_atom_get("_NET_VIRTUAL_ROOTS");
    x_current_desktop = ecore_x_atom_get("_NET_CURRENT_DESKTOP");
    
-   root_list = ecore_x_window_root_list(&ret);
+   root_list = ecore_x_window_root_list(&root_list_num);
 
-   if(ret)
+   if (root_list_num)
       root = *root_list;
    else
       root = 0;
@@ -81,12 +82,14 @@
          if (root_list)
             free(root_list);
          root_list = (Ecore_X_Window *) data;
-         root = root_list[current_desk];
+
+         if (current_desk < root_list_num)
+            root = root_list[current_desk];
       }
       else
       {
          /* Fall back to root list provided by Xlib */
-         if (root_list)
+         if (root_list && current_desk < root_list_num)
             root = root_list[current_desk];
          else
             root = 0; /* Hopefully this never happens */




-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to