Mercurial > pidgin.yaz
comparison pidgin/gtkft.c @ 32156:1693114a2655
applied changes from 6cf1aee8ac5e3c836af832eaf26ccedd611dc70b
through e802003adbf0be4496de3de8ac03b47c1e471d00
Original commit message:
Start looking at the GError parameter every time we call these functions:
- gdk_pixbuf_loader_write
- gdk_pixbuf_loader_close
- gdk_pixbuf_new_from_file
- gdk_pixbuf_new_from_file_at_size
- gdk_pixbuf_new_from_file_at_scale
There are times when gdkpixbuf returns a semi-invalid GdkPixbuf object and
also sets the GError. If this happens we want to discard and ignore the
GdkPixbuf object because it can cause problems. For example, calling
gdk_pixbuf_scale_simple() causes gdkpixbuf to rapidly consume memory in
an infinite loop. And that's bad.
This commit adds some helper functions to gtkutils.[c|h] that make it a
little easier to check the GError value. We should use them everywhere
we call any of the above functions.
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Wed, 22 Jun 2011 07:09:42 +0000 |
parents | 917c597beb97 |
children | a2febd62ec3d |
comparison
equal
deleted
inserted
replaced
32155:5ffd5582f5fe | 32156:1693114a2655 |
---|---|
1147 { | 1147 { |
1148 purple_debug_info("ft", "creating thumbnail for transfer\n"); | 1148 purple_debug_info("ft", "creating thumbnail for transfer\n"); |
1149 | 1149 |
1150 if (purple_xfer_get_size(xfer) <= PIDGIN_XFER_MAX_SIZE_IMAGE_THUMBNAIL) { | 1150 if (purple_xfer_get_size(xfer) <= PIDGIN_XFER_MAX_SIZE_IMAGE_THUMBNAIL) { |
1151 GdkPixbuf *thumbnail = | 1151 GdkPixbuf *thumbnail = |
1152 gdk_pixbuf_new_from_file_at_size( | 1152 pidgin_pixbuf_new_from_file_at_size( |
1153 purple_xfer_get_local_filename(xfer), 128, 128, NULL); | 1153 purple_xfer_get_local_filename(xfer), 128, 128); |
1154 | 1154 |
1155 if (thumbnail) { | 1155 if (thumbnail) { |
1156 gchar **formats_split = g_strsplit(formats, ",", 0); | 1156 gchar **formats_split = g_strsplit(formats, ",", 0); |
1157 gchar *buffer = NULL; | 1157 gchar *buffer = NULL; |
1158 gsize size; | 1158 gsize size; |