summaryrefslogtreecommitdiff
path: root/tree/colorspace.c
diff options
context:
space:
mode:
Diffstat (limited to 'tree/colorspace.c')
-rw-r--r--tree/colorspace.c18
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