Mercurial > pidgin.yaz
diff 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 |
line wrap: on
line diff
--- a/pidgin/gtkmain.c Wed Jun 22 02:48:46 2011 +0000 +++ b/pidgin/gtkmain.c Wed Jun 22 07:09:42 2011 +0000 @@ -270,7 +270,7 @@ /* use the nice PNG icon for all the windows */ for(i=0; i<G_N_ELEMENTS(icon_sizes); i++) { icon_path = g_build_filename(DATADIR, "icons", "hicolor", icon_sizes[i].dir, "apps", icon_sizes[i].filename, NULL); - icon = gdk_pixbuf_new_from_file(icon_path, NULL); + icon = pidgin_pixbuf_new_from_file(icon_path); g_free(icon_path); if (icon) { icons = g_list_append(icons,icon);