[cairo-commit] src/cairo-svg-surface.c src/cairo-svg-surface-private.h

Adrian Johnson ajohnson at kemper.freedesktop.org
Sat Oct 14 22:35:04 UTC 2017


 src/cairo-svg-surface-private.h |    1 -
 src/cairo-svg-surface.c         |    2 --
 2 files changed, 3 deletions(-)

New commits:
commit 79e0e25e441a74e3ec207d95bd83437457ba1885
Author: Adrian Johnson <ajohnson at redneon.com>
Date:   Sun Oct 15 07:57:54 2017 +1030

    svg: source surface hash table does not need to hold the source

diff --git a/src/cairo-svg-surface-private.h b/src/cairo-svg-surface-private.h
index 9dce1742..6f693252 100644
--- a/src/cairo-svg-surface-private.h
+++ b/src/cairo-svg-surface-private.h
@@ -53,7 +53,6 @@ typedef struct _cairo_svg_source_surface {
     unsigned int id;
     unsigned char *unique_id;
     unsigned long unique_id_length;
-    cairo_surface_t *source;
 } cairo_svg_source_surface_t;
 
 typedef struct cairo_svg_surface {
diff --git a/src/cairo-svg-surface.c b/src/cairo-svg-surface.c
index f5f42be3..e7e04791 100644
--- a/src/cairo-svg-surface.c
+++ b/src/cairo-svg-surface.c
@@ -435,7 +435,6 @@ _cairo_svg_source_surface_pluck (void *entry, void *closure)
     cairo_hash_table_t *patterns = closure;
 
     _cairo_hash_table_remove (patterns, &surface_entry->base);
-    cairo_surface_destroy (surface_entry->source);
     free (surface_entry->unique_id);
     free (surface_entry);
 }
@@ -486,7 +485,6 @@ _cairo_svg_surface_add_source_surface (cairo_svg_surface_t  *surface,
     source_entry->id = source_key.id;
     source_entry->unique_id_length = unique_id_length;
     source_entry->unique_id = unique_id;
-    source_entry->source = cairo_surface_reference (source_surface);
     _cairo_svg_source_surface_init_key (source_entry);
     status = _cairo_hash_table_insert (surface->source_surfaces, &source_entry->base);
     if (unlikely(status))


More information about the cairo-commit mailing list