diff options
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 |