diff options
Diffstat (limited to 'w3mimg')
| -rw-r--r-- | w3mimg/x11/x11_w3mimg.c | 13 | 
1 files changed, 9 insertions, 4 deletions
| diff --git a/w3mimg/x11/x11_w3mimg.c b/w3mimg/x11/x11_w3mimg.c index bc8d0aa..7eafa76 100644 --- a/w3mimg/x11/x11_w3mimg.c +++ b/w3mimg/x11/x11_w3mimg.c @@ -219,9 +219,12 @@ x11_set_background(w3mimg_op * self, char *background)  	Pixmap p;  	GC gc;  	XImage *i; +	XWindowAttributes attr; + +	XGetWindowAttributes(xi->display, xi->window, &attr);  	p = XCreatePixmap(xi->display, xi->window, 1, 1, -			  DefaultDepth(xi->display, 0)); +			  attr.depth);  	gc = XCreateGC(xi->display, xi->window, 0, NULL);  	if (!p || !gc)  	    exit(1);		/* XXX */ @@ -333,6 +336,7 @@ x11_load_image(w3mimg_op * self, W3MImage * img, char *fname, int w, int h)      ImlibImage *im;  #elif defined(USE_IMLIB2)      Imlib_Image im; +    XWindowAttributes attr;  #elif defined(USE_GDKPIXBUF)      GdkPixbufAnimation *animation;      int j, iw, ih, n, frame_num, delay = -1, max_anim; @@ -379,15 +383,16 @@ x11_load_image(w3mimg_op * self, W3MImage * img, char *fname, int w, int h)  	w = imlib_image_get_width();      if (h <= 0)  	h = imlib_image_get_height(); +    XGetWindowAttributes(xi->display, xi->window, &attr);      img->pixmap = (void *)XCreatePixmap(xi->display, xi->parent, w, h, -					DefaultDepth(xi->display, 0)); +					attr.depth);      if (!img->pixmap)  	return 0;      XSetForeground(xi->display, xi->imageGC, xi->background_pixel);      XFillRectangle(xi->display, (Pixmap) img->pixmap, xi->imageGC, 0, 0, w, h);      imlib_context_set_display(xi->display); -    imlib_context_set_visual(DefaultVisual(xi->display, 0)); -    imlib_context_set_colormap(DefaultColormap(xi->display, 0)); +    imlib_context_set_visual(attr.visual); +    imlib_context_set_colormap(attr.colormap);      imlib_context_set_drawable((Drawable) img->pixmap);      imlib_render_image_on_drawable_at_size(0, 0, w, h);      imlib_free_image(); | 
