diff options
author | Dom Lachowicz <doml@src.gnome.org> | 2005-11-26 14:47:28 +0000 |
---|---|---|
committer | Dom Lachowicz <doml@src.gnome.org> | 2005-11-26 14:47:28 +0000 |
commit | 6e9d8ea461975520472ee589ab53c569c7493137 (patch) | |
tree | 660d2515606ce20166b9383577dc81990d56f97a /rsvg-cairo-draw.c | |
parent | 9d65c44b7ed1c67eaf055157d2aed06a32f028bd (diff) | |
download | librsvg-6e9d8ea461975520472ee589ab53c569c7493137.tar.gz |
bug 322489
Diffstat (limited to 'rsvg-cairo-draw.c')
-rw-r--r-- | rsvg-cairo-draw.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/rsvg-cairo-draw.c b/rsvg-cairo-draw.c index 59337c0b..8fa29fd6 100644 --- a/rsvg-cairo-draw.c +++ b/rsvg-cairo-draw.c @@ -186,11 +186,14 @@ _set_source_rsvg_solid_colour (RsvgDrawingCtx *ctx, { cairo_t *cr = ((RsvgCairoRender *)ctx->render)->cr; guint32 rgb = colour->rgb; + double r, g, b; + if (colour->currentcolour) rgb = current_colour; - double r = ((rgb >> 16) & 0xff) / 255.0; - double g = ((rgb >> 8) & 0xff) / 255.0; - double b = ((rgb >> 0) & 0xff) / 255.0; + + r = ((rgb >> 16) & 0xff) / 255.0; + g = ((rgb >> 8) & 0xff) / 255.0; + b = ((rgb >> 0) & 0xff) / 255.0; if (opacity == 0xff) cairo_set_source_rgb (cr, r, g, b); @@ -868,11 +871,10 @@ rsvg_cairo_pop_render_stack (RsvgDrawingCtx *ctx) { RsvgCairoRender *render = (RsvgCairoRender *)ctx->render; cairo_t *child_cr = render->cr; - RsvgState *state; - state = rsvg_state_current(ctx); gboolean lateclip = FALSE; GdkPixbuf * output = NULL; cairo_surface_t *surface = NULL; + RsvgState *state = rsvg_state_current(ctx); if (rsvg_state_current(ctx)->clip_path_ref) if (((RsvgClipPath *)rsvg_state_current(ctx)->clip_path_ref)->units == |