summaryrefslogtreecommitdiff
path: root/src/gd_topal.c
diff options
context:
space:
mode:
authorKornel Lesiński <kornel@geekhood.net>2013-03-09 13:17:08 +0000
committerKornel Lesiński <kornel@geekhood.net>2013-03-09 13:17:08 +0000
commit81675d3901ce5f21e1077934e2497e29e9596a87 (patch)
tree965047b229650141243be49ba4b0b7f7ab53df99 /src/gd_topal.c
parent4b20813579ee07cb3a6a9e7756b7ecd3ec317007 (diff)
downloadlibgd-81675d3901ce5f21e1077934e2497e29e9596a87.tar.gz
Moved freeing of truecolor pixels to a function
Diffstat (limited to 'src/gd_topal.c')
-rw-r--r--src/gd_topal.c28
1 files changed, 18 insertions, 10 deletions
diff --git a/src/gd_topal.c b/src/gd_topal.c
index 097c578..853846b 100644
--- a/src/gd_topal.c
+++ b/src/gd_topal.c
@@ -1463,6 +1463,19 @@ BGD_DECLARE(void) gdImageTrueColorToPalette (gdImagePtr im, int dither, int colo
gdImageTrueColorToPaletteBody(im, dither, colorsWanted, 0);
}
+static void free_truecolor_image_data(gdImagePtr oim)
+{
+ int i;
+ oim->trueColor = 0;
+ /* Junk the truecolor pixels */
+ for (i = 0; i < oim->sy; i++)
+ {
+ gdFree (oim->tpixels[i]);
+ }
+ gdFree (oim->tpixels);
+ oim->tpixels = 0;
+}
+
/*
* Module initialization routine for 2-pass color quantization.
*/
@@ -1626,16 +1639,11 @@ static void gdImageTrueColorToPaletteBody (gdImagePtr oim, int dither, int color
}
/* Success! Get rid of the truecolor image data. */
- if (!cimP) {
- oim->trueColor = 0;
- /* Junk the truecolor pixels */
- for (i = 0; i < oim->sy; i++)
- {
- gdFree (oim->tpixels[i]);
- }
- gdFree (oim->tpixels);
- oim->tpixels = 0;
- }
+ if (!cimP)
+ {
+ free_truecolor_image_data(oim);
+ }
+
goto success;
/* Tediously free stuff. */
outOfMemory: