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;