diff options
author | Ted Gould <ted@gould.cx> | 2011-09-21 15:14:17 -0500 |
---|---|---|
committer | Ted Gould <ted@gould.cx> | 2011-09-21 15:14:17 -0500 |
commit | 7e012db1c40e51918979e57af80705be5255face (patch) | |
tree | 879b1ec158a7ee49e28e76295493d1cf3c93d676 /src | |
parent | a90cbe1c716bb4ea6dbc18a0bdd534e4a6780ba9 (diff) | |
parent | d063c76ab016d7023152b522c347575b61492eb9 (diff) | |
download | ayatana-indicator-messages-7e012db1c40e51918979e57af80705be5255face.tar.gz ayatana-indicator-messages-7e012db1c40e51918979e57af80705be5255face.tar.bz2 ayatana-indicator-messages-7e012db1c40e51918979e57af80705be5255face.zip |
Memory leak on pixbufs
Diffstat (limited to 'src')
-rw-r--r-- | src/indicator-messages.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/src/indicator-messages.c b/src/indicator-messages.c index 2476d4d..1b96464 100644 --- a/src/indicator-messages.c +++ b/src/indicator-messages.c @@ -653,6 +653,7 @@ indicator_prop_change_cb (DbusmenuMenuitem * mi, gchar * prop, GVariant * value, width, height, GDK_INTERP_BILINEAR); + g_object_unref(pixbuf); } else { g_debug("Happy with icon sized %dx%d", gdk_pixbuf_get_width(pixbuf), gdk_pixbuf_get_height(pixbuf)); resized_pixbuf = pixbuf; @@ -660,10 +661,7 @@ indicator_prop_change_cb (DbusmenuMenuitem * mi, gchar * prop, GVariant * value, gtk_image_set_from_pixbuf(GTK_IMAGE(mi_data->icon), resized_pixbuf); - /* The other pixbuf should be free'd by the dbusmenu. */ - if (resized_pixbuf != pixbuf) { - g_object_unref(resized_pixbuf); - } + g_object_unref(resized_pixbuf); gtk_widget_show(mi_data->icon); } else { @@ -715,6 +713,7 @@ new_indicator_item (DbusmenuMenuitem * newitem, DbusmenuMenuitem * parent, Dbusm width, height, GDK_INTERP_BILINEAR); + g_object_unref(pixbuf); } else { g_debug("Happy with icon sized %dx%d", gdk_pixbuf_get_width(pixbuf), gdk_pixbuf_get_height(pixbuf)); resized_pixbuf = pixbuf; @@ -722,10 +721,7 @@ new_indicator_item (DbusmenuMenuitem * newitem, DbusmenuMenuitem * parent, Dbusm gtk_image_set_from_pixbuf(GTK_IMAGE(mi_data->icon), resized_pixbuf); - /* The other pixbuf should be free'd by the dbusmenu. */ - if (resized_pixbuf != pixbuf) { - g_object_unref(resized_pixbuf); - } + g_object_unref(resized_pixbuf); } gtk_misc_set_alignment(GTK_MISC(mi_data->icon), 0.0, 0.5); gtk_box_pack_start(GTK_BOX(hbox), mi_data->icon, FALSE, FALSE, 0); |