From 1be84ed1d4fbe44387222995a124a4f84ee55210 Mon Sep 17 00:00:00 2001 From: Tor Andersson Date: Thu, 11 Nov 2004 07:52:33 +0100 Subject: fitz tree resource reference counting --- tree/colorspace.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'tree/colorspace.c') diff --git a/tree/colorspace.c b/tree/colorspace.c index 70456aae..a8aff2c2 100644 --- a/tree/colorspace.c +++ b/tree/colorspace.c @@ -1,13 +1,23 @@ #include +fz_colorspace * +fz_keepcolorspace(fz_colorspace *cs) +{ + cs->nrefs ++; + return cs; +} + void fz_dropcolorspace(fz_colorspace *cs) { - if (cs->frozen) + if (cs->nrefs < 0) return; - if (cs->drop) - cs->drop(cs); - fz_free(cs); + if (--cs->nrefs == 0) + { + if (cs->drop) + cs->drop(cs); + fz_free(cs); + } } void -- cgit v1.2.3