aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2011-09-21 15:14:17 -0500
committerTed Gould <ted@gould.cx>2011-09-21 15:14:17 -0500
commit7e012db1c40e51918979e57af80705be5255face (patch)
tree879b1ec158a7ee49e28e76295493d1cf3c93d676
parenta90cbe1c716bb4ea6dbc18a0bdd534e4a6780ba9 (diff)
parentd063c76ab016d7023152b522c347575b61492eb9 (diff)
downloadayatana-indicator-messages-7e012db1c40e51918979e57af80705be5255face.tar.gz
ayatana-indicator-messages-7e012db1c40e51918979e57af80705be5255face.tar.bz2
ayatana-indicator-messages-7e012db1c40e51918979e57af80705be5255face.zip
Memory leak on pixbufs
-rw-r--r--src/indicator-messages.c12
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);