diff --exclude-from=/home/dang/.scripts/diffrc -up -ruN librsvg-2.16.1.orig/rsvg-cairo-draw.c librsvg-2.16.1/rsvg-cairo-draw.c --- librsvg-2.16.1.orig/rsvg-cairo-draw.c 2006-08-22 09:00:38.000000000 -0400 +++ librsvg-2.16.1/rsvg-cairo-draw.c 2007-06-11 16:47:32.000000000 -0400 @@ -963,7 +963,7 @@ rsvg_cairo_pop_render_stack (RsvgDrawing surface = cairo_get_target (child_cr); render->cr = (cairo_t *)render->cr_stack->data; - render->cr_stack = g_list_remove_link (render->cr_stack, render->cr_stack); + render->cr_stack = g_list_delete_link (render->cr_stack, render->cr_stack); cairo_set_source_surface (render->cr, surface, @@ -989,7 +989,7 @@ rsvg_cairo_pop_render_stack (RsvgDrawing render->bbox = *((RsvgBbox *)render->bb_stack->data); g_free(render->bb_stack->data); - render->bb_stack = g_list_remove_link (render->bb_stack, render->bb_stack); + render->bb_stack = g_list_delete_link (render->bb_stack, render->bb_stack); if (state->filter) { diff --exclude-from=/home/dang/.scripts/diffrc -up -ruN librsvg-2.16.1.orig/rsvg-text.c librsvg-2.16.1/rsvg-text.c --- librsvg-2.16.1.orig/rsvg-text.c 2006-08-23 09:05:44.000000000 -0400 +++ librsvg-2.16.1/rsvg-text.c 2007-06-11 16:48:54.000000000 -0400 @@ -946,6 +946,8 @@ rsvg_text_render_text (RsvgDrawingCtx *c pango_layout_iter_free (iter); ctx->render->render_pango_layout (ctx, layout, *x, *y - baseline); *x += w; + g_object_unref (layout); + g_object_unref (context); } else {