g_variant_get_child (variant, retval++, "av", &iter);
GVariant *var;
while (g_variant_iter_loop (iter, "v", &var)) {
- ibus_attr_list_append (attr_list, IBUS_ATTRIBUTE (ibus_serializable_deserialize (var)));
+ IBusAttribute *attr = IBUS_ATTRIBUTE (ibus_serializable_deserialize (var));
+ ibus_attr_list_append (attr_list, attr);
}
g_variant_iter_free (iter);
g_variant_get (result, "(av)", &iter);
GVariant *var;
while (g_variant_iter_loop (iter, "v", &var)) {
- retval = g_list_append (retval, ibus_serializable_deserialize (var));
+ IBusSerializable *serializable = ibus_serializable_deserialize (var);
+ g_object_ref_sink (serializable);
+ retval = g_list_append (retval, serializable);
}
g_variant_iter_free (iter);
g_variant_unref (result);
g_variant_get (variant, "(av)", &iter);
GVariant *var;
while (g_variant_iter_loop (iter, "v", &var)) {
- retval = g_list_append (retval, ibus_serializable_deserialize (var));
+ IBusSerializable *serializable = ibus_serializable_deserialize (var);
+ g_object_ref_sink (serializable);
+ retval = g_list_append (retval, serializable);
}
g_variant_iter_free (iter);
return retval;
GVariant *var;
while (g_variant_iter_loop (iter, "v", &var)) {
IBusEngineDesc *desc = (IBusEngineDesc *) ibus_serializable_deserialize (var);
+ g_object_ref_sink (desc);
g_array_append_val (array, desc);
}
g_variant_iter_free (iter);
g_return_val_if_fail (iter != NULL, retval);
GVariant *var;
while (g_variant_iter_loop (iter, "v", &var)) {
- ibus_prop_list_append (prop_list, IBUS_PROPERTY (ibus_serializable_deserialize (var)));
+ IBusProperty *prop = IBUS_PROPERTY (ibus_serializable_deserialize (var));
+ g_object_ref_sink (prop);
+ ibus_prop_list_append (prop_list, prop);
}
g_variant_iter_free (iter);