[PATCH:libX11 2/2] Convert XCreate{Pix, Bit}map...Data to use C99 designated initializers

Alan Coopersmith alan.coopersmith at oracle.com
Sat Jun 30 08:04:33 PDT 2012


On 06/30/12 02:38 AM, walter harms wrote:
>> -    pix = XCreatePixmap(display, d, width, height, 1);
>> -    gc = XCreateGC(display, pix, (unsigned long) 0, (XGCValues *) 0);
>> +    Pixmap pix = XCreatePixmap(display, d, width, height, 1);
> 
> if you assume that gc can fail you should check pix also
> 	if ( pix == NULL )
> 	    return (Pixmap) None;

Nope - Xlib doesn't do the same things there, since in Xlib, a GC
is a pointer to a struct, while a Pixmap is simply an XID (integer).

XCreateGC can return NULL if malloc fails:
  http://cgit.freedesktop.org/xorg/lib/libX11/tree/src/CrGC.c#n64

XCreatePixamp doesn't malloc, simply returns the next available XID:
  http://cgit.freedesktop.org/xorg/lib/libX11/tree/src/CrPixmap.c#n40

-- 
	-Alan Coopersmith-              alan.coopersmith at oracle.com
	 Oracle Solaris Engineering - http://blogs.oracle.com/alanc


More information about the xorg-devel mailing list