File ibus-gvariant-leaks.patch of Package ibus.12519
diff --git a/src/ibusbus.c b/src/ibusbus.c
index 29e9b1f..978dc59 100644
--- a/src/ibusbus.c
+++ b/src/ibusbus.c
@@ -587,6 +587,7 @@ _async_finish_object_path (GAsyncResult *res,
g_variant_get (result, "(v)", &variant);
path = g_variant_dup_string (variant, NULL);
g_variant_unref (variant);
+ g_variant_unref (result);
return path;
}
@@ -601,6 +602,7 @@ _async_finish_string (GAsyncResult *res,
g_return_val_if_fail (variant != NULL, NULL);
gchar *s = NULL;
g_variant_get (variant, "(&s)", &s);
+ g_variant_unref (variant);
return s;
}
@@ -615,6 +617,7 @@ _async_finish_gboolean (GAsyncResult *res,
g_return_val_if_fail (variant != NULL, FALSE);
gboolean retval = FALSE;
g_variant_get (variant, "(b)", &retval);
+ g_variant_unref (variant);
return retval;
}
@@ -631,6 +634,7 @@ _async_finish_guint (GAsyncResult *res,
guint id = 0;
g_variant_get (variant, "(u)", &id);
+ g_variant_unref (variant);
return id;
}
@@ -1629,6 +1633,7 @@ ibus_bus_list_engines_async_finish (IBusBus *bus,
}
g_variant_iter_free (iter);
g_variant_unref (variant);
+ g_variant_unref (result);
return retval;
}
@@ -1988,6 +1993,7 @@ ibus_bus_get_global_engine_async_finish (IBusBus *bus,
g_variant_unref (obj);
g_variant_unref (variant);
}
+ g_variant_unref (result);
return engine;
}
@@ -2190,6 +2196,7 @@ ibus_bus_get_ibus_property_async_finish (IBusBus *bus,
g_return_val_if_fail (result != NULL, NULL);
GVariant *retval = NULL;
g_variant_get (result, "(v)", &retval);
+ g_variant_unref (result);
return retval;
}