Index: libindicate-0.4.4/libindicate/listener.c =================================================================== --- libindicate-0.4.4.orig/libindicate/listener.c 2010-12-16 08:07:29.660315566 +0800 +++ libindicate-0.4.4/libindicate/listener.c 2010-12-16 08:16:17.143504048 +0800 @@ -596,6 +596,8 @@ proxy_get_indicator_list (DBusGProxy * proxy, GArray * indicators, GError * error, gpointer data) { if (error != NULL) { + if (indicators) g_array_unref(indicators); + g_error_free(error); return; } @@ -607,6 +609,8 @@ proxy_indicator_added(proxy, id, proxyt); } + g_array_unref(indicators); + return; } @@ -788,6 +792,7 @@ g_free(get_property_data->property); g_free(get_property_data); + g_value_unset(&OUT_value); return; }; @@ -937,6 +942,7 @@ { if (error != NULL) { g_warning("Listener display caused an error: %s", error->message); + g_error_free(error); } return; } @@ -956,6 +962,7 @@ { if (error != NULL) { g_warning("Listener displayed caused an error: %s", error->message); + g_error_free(error); } return; } @@ -1009,6 +1016,8 @@ if (error != NULL) { /* g_warning("Unable to get property: %s", error->message); */ g_free(propertyt); + g_error_free(error); + g_value_unset(&property); return; } @@ -1047,6 +1056,7 @@ g_warning("Property back from server that we didn't understand."); } + g_value_unset(&property); return; } @@ -1158,6 +1168,7 @@ { if (error != NULL) { g_warning("Unable to configure interest."); + g_error_free(error); } return; Index: libindicate-0.4.4/libindicate-gtk/listener.c =================================================================== --- libindicate-0.4.4.orig/libindicate-gtk/listener.c 2010-12-16 08:07:29.702315022 +0800 +++ libindicate-0.4.4/libindicate-gtk/listener.c 2010-12-16 08:17:03.142909987 +0800 @@ -57,6 +57,7 @@ if (error != NULL) { g_warning("Unable to get property data: %s", error->message); g_error_free(error); + g_value_unset(&OUT_vvalue); return; } @@ -104,6 +105,7 @@ g_free(get_property_data->property); g_free(get_property_data); + g_value_unset(&OUT_vvalue); return; };