forked from AuroraMiddleware/gtk
Patch taken from maemo-gtk:
2007-01-17 Michael Natterer <mitch@imendio.com> Patch taken from maemo-gtk: * io-png.c (png_text_to_pixbuf_option): don't call g_convert() on ASCII strings. (png_info_callback): set an error when the size_func would scale the pixbuf away completely. svn path=/trunk/; revision=17179
This commit is contained in:
parent
3ce8736298
commit
852e8c1729
@ -1,3 +1,13 @@
|
|||||||
|
2007-01-17 Michael Natterer <mitch@imendio.com>
|
||||||
|
|
||||||
|
Patch taken from maemo-gtk:
|
||||||
|
|
||||||
|
* io-png.c (png_text_to_pixbuf_option): don't call g_convert() on
|
||||||
|
ASCII strings.
|
||||||
|
|
||||||
|
(png_info_callback): set an error when the size_func would scale
|
||||||
|
the pixbuf away completely.
|
||||||
|
|
||||||
2007-01-16 Matthias Clasen <mclasen@redhat.com>
|
2007-01-16 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
* gdk-pixbuf-loader.c (gdk_pixbuf_loader_write): Just
|
* gdk-pixbuf-loader.c (gdk_pixbuf_loader_write): Just
|
||||||
|
@ -204,14 +204,24 @@ png_text_to_pixbuf_option (png_text text_ptr,
|
|||||||
gchar **key,
|
gchar **key,
|
||||||
gchar **value)
|
gchar **value)
|
||||||
{
|
{
|
||||||
if (text_ptr.text_length > 0) {
|
gboolean is_ascii = TRUE;
|
||||||
*value = g_convert (text_ptr.text, -1,
|
int i;
|
||||||
"UTF-8", "ISO-8859-1",
|
|
||||||
NULL, NULL, NULL);
|
/* Avoid loading iconv if the text is plain ASCII */
|
||||||
}
|
for (i = 0; i < text_ptr.text_length; i++)
|
||||||
else {
|
if (text_ptr.text[i] & 0x80) {
|
||||||
|
is_ascii = FALSE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (is_ascii) {
|
||||||
*value = g_strdup (text_ptr.text);
|
*value = g_strdup (text_ptr.text);
|
||||||
|
} else {
|
||||||
|
*value = g_convert (text_ptr.text, -1,
|
||||||
|
"UTF-8", "ISO-8859-1",
|
||||||
|
NULL, NULL, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (*value) {
|
if (*value) {
|
||||||
*key = g_strconcat ("tEXt::", text_ptr.key, NULL);
|
*key = g_strconcat ("tEXt::", text_ptr.key, NULL);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
@ -602,6 +612,12 @@ png_info_callback (png_structp png_read_ptr,
|
|||||||
|
|
||||||
if (w == 0 || h == 0) {
|
if (w == 0 || h == 0) {
|
||||||
lc->fatal_error_occurred = TRUE;
|
lc->fatal_error_occurred = TRUE;
|
||||||
|
if (lc->error && *lc->error == NULL) {
|
||||||
|
g_set_error (lc->error,
|
||||||
|
GDK_PIXBUF_ERROR,
|
||||||
|
GDK_PIXBUF_ERROR_FAILED,
|
||||||
|
_("Transformed PNG has zero width or height."));
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user