[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/image.c,v
From: |
Chong Yidong |
Subject: |
[Emacs-diffs] Changes to emacs/src/image.c,v |
Date: |
Fri, 25 Jul 2008 17:06:23 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Changes by: Chong Yidong <cyd> 08/07/25 17:06:23
Index: image.c
===================================================================
RCS file: /sources/emacs/emacs/src/image.c,v
retrieving revision 1.108
retrieving revision 1.109
diff -u -b -r1.108 -r1.109
--- image.c 25 Jul 2008 14:04:02 -0000 1.108
+++ image.c 25 Jul 2008 17:06:23 -0000 1.109
@@ -8841,7 +8841,7 @@
/* SVG library functions. */
DEF_IMGLIB_FN (rsvg_handle_new);
-DEF_IMGLIB_FN (rsvg_handle_set_size_callback);
+DEF_IMGLIB_FN (rsvg_handle_get_dimensions);
DEF_IMGLIB_FN (rsvg_handle_write);
DEF_IMGLIB_FN (rsvg_handle_close);
DEF_IMGLIB_FN (rsvg_handle_get_pixbuf);
@@ -8873,7 +8873,7 @@
return 0;
LOAD_IMGLIB_FN (library, rsvg_handle_new);
- LOAD_IMGLIB_FN (library, rsvg_handle_set_size_callback);
+ LOAD_IMGLIB_FN (library, rsvg_handle_get_dimensions);
LOAD_IMGLIB_FN (library, rsvg_handle_write);
LOAD_IMGLIB_FN (library, rsvg_handle_close);
LOAD_IMGLIB_FN (library, rsvg_handle_get_pixbuf);
@@ -8898,7 +8898,7 @@
/* The following aliases for library functions allow dynamic loading
to be used on some platforms. */
#define fn_rsvg_handle_new rsvg_handle_new
-#define fn_rsvg_handle_set_size_callback rsvg_handle_set_size_callback
+#define fn_rsvg_handle_get_dimensions rsvg_handle_get_dimensions
#define fn_rsvg_handle_write rsvg_handle_write
#define fn_rsvg_handle_close rsvg_handle_close
#define fn_rsvg_handle_get_pixbuf rsvg_handle_get_pixbuf
@@ -8993,6 +8993,7 @@
unsigned int size;
{
RsvgHandle *rsvg_handle;
+ RsvgDimensionData dimension_data;
GError *error = NULL;
GdkPixbuf *pixbuf;
int width;
@@ -9013,21 +9014,22 @@
/* Parse the contents argument and fill in the rsvg_handle. */
fn_rsvg_handle_write (rsvg_handle, contents, size, &error);
- if (error)
- goto rsvg_error;
+ if (error) goto rsvg_error;
/* The parsing is complete, rsvg_handle is ready to used, close it
for further writes. */
fn_rsvg_handle_close (rsvg_handle, &error);
- if (error)
+ if (error) goto rsvg_error;
+
+ fn_rsvg_handle_get_dimensions (rsvg_handle, &dimension_data);
+ if (! check_image_size (f, dimension_data.width, dimension_data.height))
goto rsvg_error;
/* We can now get a valid pixel buffer from the svg file, if all
went ok. */
pixbuf = fn_rsvg_handle_get_pixbuf (rsvg_handle);
- fn_rsvg_handle_free (rsvg_handle);
- if (!pixbuf)
- goto rsvg_error;
+ if (!pixbuf) goto rsvg_error;
+ fn_g_object_unref (rsvg_handle);
/* Extract some meta data from the svg handle. */
width = fn_gdk_pixbuf_get_width (pixbuf);
@@ -9148,6 +9150,7 @@
return 1;
rsvg_error:
+ fn_g_object_unref (rsvg_handle);
/* FIXME: Use error->message so the user knows what is the actual
problem with the image. */
image_error ("Error parsing SVG image `%s'", img->spec, Qnil);
- [Emacs-diffs] Changes to emacs/src/image.c,v, Adrian Robert, 2008/07/15
- [Emacs-diffs] Changes to emacs/src/image.c,v, Adrian Robert, 2008/07/17
- [Emacs-diffs] Changes to emacs/src/image.c,v, Dan Nicolaescu, 2008/07/21
- [Emacs-diffs] Changes to emacs/src/image.c,v, Chong Yidong, 2008/07/25
- [Emacs-diffs] Changes to emacs/src/image.c,v, Chong Yidong, 2008/07/25
- [Emacs-diffs] Changes to emacs/src/image.c,v,
Chong Yidong <=
- [Emacs-diffs] Changes to emacs/src/image.c,v, Chong Yidong, 2008/07/25
- [Emacs-diffs] Changes to emacs/src/image.c,v, Miles Bader, 2008/07/26
- [Emacs-diffs] Changes to emacs/src/image.c,v, Dan Nicolaescu, 2008/07/27