diff options
author | Tor Andersson <tor@ghostscript.com> | 2004-11-11 07:52:33 +0100 |
---|---|---|
committer | Tor Andersson <tor@ghostscript.com> | 2004-11-11 07:52:33 +0100 |
commit | 1be84ed1d4fbe44387222995a124a4f84ee55210 (patch) | |
tree | 4748ea9933e543fbde652857444b416cc16361d0 /tree/colorspace.c | |
parent | 58de1fff510078e3d2d8cfce033c87299adf78f0 (diff) | |
download | mupdf-1be84ed1d4fbe44387222995a124a4f84ee55210.tar.xz |
fitz tree resource reference counting
Diffstat (limited to 'tree/colorspace.c')
-rw-r--r-- | tree/colorspace.c | 18 |
1 files changed, 14 insertions, 4 deletions
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 <fitz.h> +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 |