Mercurial > pidgin
diff pidgin/gtkmain.c @ 31682:e2c6e4fc3c84
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:07:28 +0000 |
parents | d82d402c39fb |
children | 142429bcb4c8 |
line wrap: on
line diff
--- a/pidgin/gtkmain.c Tue Jun 21 07:43:07 2011 +0000 +++ b/pidgin/gtkmain.c Wed Jun 22 07:07:28 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);