|  | 
                    Re: Who is responsible for alloc mem for access.direct.data?
                     | 
          
        
        
        
         
        
        
        
         
            
              | 05/26/2011 5:23 PM post86178 | Re: Who is responsible for alloc mem for access.direct.data?
                    It been a long time, but i'm pretty sure the lib will allocate the memory, however I think you're responsible for 
freeing it.
----- Original Message -----
From: Reza Salehi [mailto:community-noreply@qnx.com]
Sent: Thursday, May 26, 2011 05:21 PM
To: advanced-graphics <post86177@community.qnx.com>
Subject: Who is responsible for alloc mem for access.direct.data?
Hi All,
I am having a problem with setting img.flags |= IMG_DIRECT.  Who is responsible for alloc memory for acess.direct.data? 
 Is it the user or does the img_load_file() allocates memeory when the user sets the IMG_DIRECT flag.  I have been 
spinning why wheels on this.  I am trying to grab the acess.direct.data pointer after loading a png file, but my system 
hangs everytime I set the IMG_DIRECT flag.
Thanks,
Reza.
_______________________________________________
Advanced Graphics
http://community.qnx.com/sf/go/post86177
 | 
            
              |  | 
          
            
              |  | 
         
          
                      
          
        
      
    
      
      
        
        
        
        
         
        
        
        
              
                  |  | 
                    Re: Who is responsible for alloc mem for access.direct.data?
                     | 
          
        
        
        
         
        
        
        
         
            
              | 05/26/2011 5:59 PM post86180 | Re: Who is responsible for alloc mem for access.direct.data?
                    Hi Joel,
Thanks for answering.  I though the same.  However, I wrote a small code and it seems like data is NULL before and after
 img_load_file() call!  The function returns OK so the image does get loaded (somewhere), but the point is still data 
pointer is still NULL.  So, when I try to use this pointer to attach it to a gf surface, the system hangs.
img.flags = 0;
img.flags |= IMG_DIRECT;
printf("data before load %p \n",img.access.direct.data);
	if ((rc = img_load_file(ilib, "/tmp/n_day_r.png", NULL, &img)) != IMG_ERR_OK) {
	fprintf(stderr, "img_load_file(%s) failed: %d\n", "/tmp/n_day_r.png", rc);
	return -1;
	}
	else
	{
		fprintf(stderr, "img_load_file(%s) sucess : %d\n", "/tmp/n_day_r.png", rc);
		fprintf(stdout, "img is %dx%dx%d\n", img.w, img.h, IMG_FMT_BPP(img.format));
	}
	printf("data after load %d \n",img.access.direct.data); | 
            
              |  | 
          
            
              |  |