Mercurial > pidgin.yaz
comparison pidgin/gtkmain.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 | 5f3df5c14c0e |
children | 142429bcb4c8 |
comparison
equal
deleted
inserted
replaced
32155:5ffd5582f5fe | 32156:1693114a2655 |
---|---|
268 | 268 |
269 #ifndef _WIN32 | 269 #ifndef _WIN32 |
270 /* use the nice PNG icon for all the windows */ | 270 /* use the nice PNG icon for all the windows */ |
271 for(i=0; i<G_N_ELEMENTS(icon_sizes); i++) { | 271 for(i=0; i<G_N_ELEMENTS(icon_sizes); i++) { |
272 icon_path = g_build_filename(DATADIR, "icons", "hicolor", icon_sizes[i].dir, "apps", icon_sizes[i].filename, NULL); | 272 icon_path = g_build_filename(DATADIR, "icons", "hicolor", icon_sizes[i].dir, "apps", icon_sizes[i].filename, NULL); |
273 icon = gdk_pixbuf_new_from_file(icon_path, NULL); | 273 icon = pidgin_pixbuf_new_from_file(icon_path); |
274 g_free(icon_path); | 274 g_free(icon_path); |
275 if (icon) { | 275 if (icon) { |
276 icons = g_list_append(icons,icon); | 276 icons = g_list_append(icons,icon); |
277 } else { | 277 } else { |
278 purple_debug_error("ui_main", | 278 purple_debug_error("ui_main", |