From 2bb143afdefb20b51ed6643f84e4862482d0e7dc Mon Sep 17 00:00:00 2001 From: Nils Philippsen Date: Fri, 18 Jun 2010 16:20:51 +0200 Subject: [PATCH] patch: indexed-pnm Squashed commit of the following: commit 83e5714e44d4c14ff162de2450a311dcbeb10ce7 Author: Sven Neumann Date: Sat Jan 9 12:12:12 2010 +0100 Bug 606372 - Saving to .ppm fails on indexed colorspace Don't change the pointer to the colormap and then attempt to free it. (cherry picked from commit b883d59411dfde28fb0704fa2790e602999f7f6f) --- plug-ins/common/file-pnm.c | 11 ++++++----- 1 files changed, 6 insertions(+), 5 deletions(-) diff --git a/plug-ins/common/file-pnm.c b/plug-ins/common/file-pnm.c index 2cd8443..8359f0a 100644 --- a/plug-ins/common/file-pnm.c +++ b/plug-ins/common/file-pnm.c @@ -1103,13 +1103,14 @@ save_image (const gchar *filename, } else { - gint i; + const guchar *c = cmap; + gint i; for (i = 0; i < num_colors; i++) { - red[i] = *cmap++; - grn[i] = *cmap++; - blu[i] = *cmap++; + red[i] = *c++; + grn[i] = *c++; + blu[i] = *c++; } rowinfo.red = red; @@ -1155,7 +1156,7 @@ save_image (const gchar *filename, d = data; } - (*saverow)(&rowinfo, d); + saverow (&rowinfo, d); d += xres * (np ? np : 1); if ((ypos % 20) == 0) -- 1.7.0.1