summaryrefslogtreecommitdiffstats
path: root/common/canvas_base.c
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2010-03-02 15:51:12 +0100
committerAlexander Larsson <alexl@redhat.com>2010-03-08 19:45:27 +0100
commitf7a77f9881d5cd1d360b043d6b619216603941dd (patch)
treef51302aa48c9a0cda58d72dd4e575ae9eeadb102 /common/canvas_base.c
parentc0fdcd1a10d0eae92fec9e00382b445d669c7428 (diff)
downloadspice-f7a77f9881d5cd1d360b043d6b619216603941dd.tar.gz
spice-f7a77f9881d5cd1d360b043d6b619216603941dd.tar.xz
spice-f7a77f9881d5cd1d360b043d6b619216603941dd.zip
Make glz_decoder non-optional canvas_base in canvas constructors
It can still be NULL, but we simplify the headers by always including it. There is no practical performance difference here.
Diffstat (limited to 'common/canvas_base.c')
-rw-r--r--common/canvas_base.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/common/canvas_base.c b/common/canvas_base.c
index 8bac5923..aeb1cb56 100644
--- a/common/canvas_base.c
+++ b/common/canvas_base.c
@@ -622,6 +622,11 @@ static pixman_image_t *canvas_get_glz(CanvasBase *canvas, LZImage *image)
#ifdef WIN32
canvas->glz_data.decode_data.dc = canvas->dc;
#endif
+
+ if (canvas->glz_data.decoder == NULL) {
+ CANVAS_ERROR("glz not supported");
+ }
+
canvas->glz_data.decoder->ops->decode(canvas->glz_data.decoder,
image->lz_rgb.data, NULL,
&canvas->glz_data.decode_data);
@@ -816,7 +821,8 @@ static pixman_image_t *canvas_get_image_internal(CanvasBase *canvas, SPICE_ADDRE
break;
}
#endif
-#ifdef USE_GLZ
+
+#if defined(CAIRO_CANVAS_CACHE)
case SPICE_IMAGE_TYPE_GLZ_RGB: {
access_test(canvas, descriptor, sizeof(SpiceLZRGBImage));
LZImage *image = (LZImage *)descriptor;
@@ -824,6 +830,7 @@ static pixman_image_t *canvas_get_image_internal(CanvasBase *canvas, SPICE_ADDRE
break;
}
#endif
+
case SPICE_IMAGE_TYPE_FROM_CACHE:
return canvas->bits_cache->ops->get(canvas->bits_cache, descriptor->id);
case SPICE_IMAGE_TYPE_BITMAP: {
@@ -1546,9 +1553,7 @@ static int canvas_base_init(CanvasBase *canvas, int depth,
#else
static int canvas_base_init(CanvasBase *canvas, int depth
#endif
-#ifdef USE_GLZ
, SpiceGlzDecoder *glz_decoder
-#endif
#ifndef CAIRO_CANVAS_NO_CHUNKS
, void *get_virt_opaque, get_virt_fn_t get_virt,
void *validate_virt_opaque, validate_virt_fn_t validate_virt
@@ -1583,9 +1588,7 @@ static int canvas_base_init(CanvasBase *canvas, int depth
return 0;
}
#endif
-#ifdef USE_GLZ
canvas->glz_data.decoder = glz_decoder;
-#endif
if (depth == 16) {
canvas->color_shift = 5;