This patch includes the source file type for all types.

Signed-off-by: Rodolfo García Peñas (kix) <[email protected]>
---
 wrlib/gif.c  | 1 +
 wrlib/jpeg.c | 1 +
 wrlib/nxpm.c | 6 ++++++
 wrlib/png.c  | 2 ++
 wrlib/ppm.c  | 1 +
 wrlib/tiff.c | 1 +
 wrlib/xpm.c  | 4 ++++
 7 files changed, 16 insertions(+)

diff --git a/wrlib/gif.c b/wrlib/gif.c
index ebd8729..d30f236 100644
--- a/wrlib/gif.c
+++ b/wrlib/gif.c
@@ -207,6 +207,7 @@ RImage *RLoadGIF(const char *file, int index)
        if (gif)
                DGifCloseFile(gif);
 
+       image->srcformat = IM_GIF;
        return image;
 }
 
diff --git a/wrlib/jpeg.c b/wrlib/jpeg.c
index 2648c40..a55f64c 100644
--- a/wrlib/jpeg.c
+++ b/wrlib/jpeg.c
@@ -179,6 +179,7 @@ RImage *RLoadJPEG(const char *file_name)
        }
 
        jpeg_finish_decompress(&cinfo);
+       image->srcformat = IM_JPEG;
 
  bye:
        jpeg_destroy_decompress(&cinfo);
diff --git a/wrlib/nxpm.c b/wrlib/nxpm.c
index 37a48e8..53fb4f9 100644
--- a/wrlib/nxpm.c
+++ b/wrlib/nxpm.c
@@ -151,6 +151,8 @@ RImage *RGetImageFromXPMData(RContext * context, char 
**data)
                return NULL;
        }
 
+       image->srcformat = IM_XPM;
+
        r = image->data;
        g = image->data + 1;
        b = image->data + 2;
@@ -218,6 +220,7 @@ RImage *RGetImageFromXPMData(RContext * context, char 
**data)
        }
 
        free_color_symbol_table(color_table, symbol_table);
+
        return image;
 
  bad_format:
@@ -346,6 +349,8 @@ RImage *RLoadXPM(RContext * context, const char *file)
                return NULL;
        }
 
+       image->srcformat = IM_XPM;
+
        r = image->data;
        g = image->data + 1;
        b = image->data + 2;
@@ -422,6 +427,7 @@ RImage *RLoadXPM(RContext * context, const char *file)
        free_color_symbol_table(color_table, symbol_table);
        if (buffer)
                free(buffer);
+
        return image;
 
  bad_format:
diff --git a/wrlib/png.c b/wrlib/png.c
index 03074ea..daae324 100644
--- a/wrlib/png.c
+++ b/wrlib/png.c
@@ -213,6 +213,8 @@ RImage *RLoadPNG(RContext *context, const char *file)
                if (png_rows[y])
                        free(png_rows[y]);
        free(png_rows);
+
+       image->srcformat = IM_PNG;
        return image;
 }
 
diff --git a/wrlib/ppm.c b/wrlib/ppm.c
index 49c10db..34ac4fe 100644
--- a/wrlib/ppm.c
+++ b/wrlib/ppm.c
@@ -171,5 +171,6 @@ RImage *RLoadPPM(const char *file_name)
                image = load_pixmap(file, w, h, m, type == '6');
 
        fclose(file);
+       image->srcformat = IM_PPM;
        return image;
 }
diff --git a/wrlib/tiff.c b/wrlib/tiff.c
index a54596d..c43a356 100644
--- a/wrlib/tiff.c
+++ b/wrlib/tiff.c
@@ -135,6 +135,7 @@ RImage *RLoadTIFF(const char *file, int index)
                        }
                }
                _TIFFfree(ptr);
+               image->srcformat = IM_TIFF;
        }
 
        TIFFClose(tif);
diff --git a/wrlib/xpm.c b/wrlib/xpm.c
index ca4c600..cca56f8 100644
--- a/wrlib/xpm.c
+++ b/wrlib/xpm.c
@@ -133,6 +133,7 @@ RImage *RDrawXPM(RContext *context, RImage *image, unsigned 
char *srcdata)
                free(color_table[i]);
 
        XpmFreeXpmImage(xpm);
+
        return image;
 }
 
@@ -174,6 +175,8 @@ RImage *RGetImageFromXPMData(RContext *context, char 
**xpmData)
                return NULL;
        }
 
+       /* Add the XpmImage xpm as srcdata */
+       image->srcformat = IM_XPM;
        srcdata = (unsigned char *) malloc(sizeof(xpm));
        memcpy(srcdata, &xpm, sizeof(xpm));
        image = RDrawXPM(context, image, srcdata);
@@ -219,6 +222,7 @@ RImage *RLoadXPM(RContext *context, const char *file)
        }
 
        /* Add the XpmImage xpm as srcdata */
+       image->srcformat = IM_XPM;
        srcdata = (unsigned char *) malloc(sizeof(xpm));
        memcpy(srcdata, &xpm, sizeof(xpm));
        image = RDrawXPM(context, image, srcdata);
-- 
1.8.4.rc3


-- 
To unsubscribe, send mail to [email protected].

Reply via email to