add: XFreePixmap(dpy, pix);
context: int main(int argc, char **argv){    RContextAttributes attr;    float a;    dpy = XOpenDisplay("");    if (!dpy) {	puts("cant open display");	exit(1);    }    attr.flags = RC_RenderMode | RC_ColorsPerChannel;    attr.render_mode = RDitheredRendering;    attr.colors_per_channel = 4;    ctx = RCreateContext(dpy, DefaultScreen(dpy), &attr);    if (argc<2) 	img = RGetImageFromXPMData(ctx, image_name);    else	img = RLoadImage(ctx, argv[1], 0);    if (!img) {	puts(RMessageForError(RErrorCode));	exit(1);    }    win = XCreateSimpleWindow(dpy, DefaultRootWindow(dpy), 10, 10, 			      MAX(img->width, img->height),			      MAX(img->height, img->width), 0, 0, 0);    XMapRaised(dpy, win);    XFlush(dpy);    a = 0;    while (1) {	RImage *tmp;		a = a + 1.0;		tmp = RRotateImage(img, a);	if (!RConvertImage(ctx, tmp, &pix)) {	    puts(RMessageForError(RErrorCode));	    exit(1);	}	RDestroyImage(tmp);	   	   	XSetWindowBackgroundPixmap(dpy, win, pix);	XClearWindow(dpy, win);	XSync(dpy, 0);	usleep(50000);    }    exit(0);}