Commit 25e32bd8 authored by Ken Raeburn's avatar Ken Raeburn

Use color cache for creating bitmap

* src/image.c (x_create_bitmap_from_xpm_data) [ALLOC_XPM_COLORS]: Set
attributes to use the caching color allocator.  Initialize and free
the cache.
parent 851be0f6
......@@ -3508,6 +3508,14 @@ x_create_bitmap_from_xpm_data (struct frame *f, const char **bits)
attrs.valuemask |= XpmVisual;
attrs.valuemask |= XpmColormap;
#ifdef ALLOC_XPM_COLORS
attrs.color_closure = f;
attrs.alloc_color = xpm_alloc_color;
attrs.free_colors = xpm_free_colors;
attrs.valuemask |= XpmAllocColor | XpmFreeColors | XpmColorClosure;
xpm_init_color_cache (f, &attrs);
#endif
rc = XpmCreatePixmapFromData (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f),
(char **) bits, &bitmap, &mask, &attrs);
if (rc != XpmSuccess)
......@@ -3526,6 +3534,9 @@ x_create_bitmap_from_xpm_data (struct frame *f, const char **bits)
dpyinfo->bitmaps[id - 1].depth = attrs.depth;
dpyinfo->bitmaps[id - 1].refcount = 1;
#ifdef ALLOC_XPM_COLORS
xpm_free_color_cache ();
#endif
XpmFreeAttributes (&attrs);
return id;
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment