From: <the...@us...> - 2006-08-18 05:56:14
|
Revision: 16828 Author: thekingant Date: 2006-08-17 22:56:10 -0700 (Thu, 17 Aug 2006) ViewCVS: http://svn.sourceforge.net/gaim/?rev=16828&view=rev Log Message: ----------- Get rid of an assertion failure when the selected icon is not a valid image Modified Paths: -------------- trunk/src/gtkstatusbox.c Modified: trunk/src/gtkstatusbox.c =================================================================== --- trunk/src/gtkstatusbox.c 2006-08-18 03:59:01 UTC (rev 16827) +++ trunk/src/gtkstatusbox.c 2006-08-18 05:56:10 UTC (rev 16828) @@ -1275,19 +1275,22 @@ if (status_box->icon_size != icon_alc.height) { + if (status_box->buddy_icon_hover) + g_object_unref(status_box->buddy_icon_hover); if ((status_box->buddy_icon_path != NULL) && (*status_box->buddy_icon_path != '\0')) { scaled = gdk_pixbuf_new_from_file_at_scale(status_box->buddy_icon_path, icon_alc.height, icon_alc.width, FALSE, NULL); - if (status_box->buddy_icon_hover) - g_object_unref(status_box->buddy_icon_hover); - status_box->buddy_icon_hover = gdk_pixbuf_copy(scaled); - do_colorshift(status_box->buddy_icon_hover, status_box->buddy_icon_hover, 30); - if (status_box->buddy_icon) - g_object_unref(status_box->buddy_icon); - status_box->buddy_icon = scaled; - gtk_image_set_from_pixbuf(GTK_IMAGE(status_box->icon), status_box->buddy_icon); + if (scaled != NULL) + { + status_box->buddy_icon_hover = gdk_pixbuf_copy(scaled); + do_colorshift(status_box->buddy_icon_hover, status_box->buddy_icon_hover, 30); + if (status_box->buddy_icon) + g_object_unref(status_box->buddy_icon); + status_box->buddy_icon = scaled; + gtk_image_set_from_pixbuf(GTK_IMAGE(status_box->icon), status_box->buddy_icon); + } } status_box->icon_size = icon_alc.height; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |