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/image.c | |
parent | 58de1fff510078e3d2d8cfce033c87299adf78f0 (diff) | |
download | mupdf-1be84ed1d4fbe44387222995a124a4f84ee55210.tar.xz |
fitz tree resource reference counting
Diffstat (limited to 'tree/image.c')
-rw-r--r-- | tree/image.c | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/tree/image.c b/tree/image.c index 16a1c817..c448f41a 100644 --- a/tree/image.c +++ b/tree/image.c @@ -1,9 +1,20 @@ #include <fitz.h> -void fz_dropimage(fz_image *image) +fz_image * +fz_keepimage(fz_image *image) { - if (image->drop) - image->drop(image); - fz_free(image); + image->nrefs ++; + return image; +} + +void +fz_dropimage(fz_image *image) +{ + if (--image->nrefs == 0) + { + if (image->drop) + image->drop(image); + fz_free(image); + } } |