static VALUE gp_unit_get_list(VALUE self, VALUE bases) { VALUE array; GList *list = gnome_print_unit_get_list(RVAL2GPUB(bases)); array = GLIST2ARY2(list, GNOME_TYPE_PRINT_UNIT); gnome_print_unit_free_list(list); return array; }
static VALUE iview_get_selected_items(VALUE self) { GList* list = gtk_icon_view_get_selected_items(_SELF(self)); VALUE ret = GLIST2ARY2(list, GTK_TYPE_TREE_PATH); g_list_foreach(list, (GFunc)gtk_tree_path_free, NULL); g_list_free(list); return ret; }
static VALUE rpango_reorder_items_body(VALUE value) { struct rpango_reorder_items_args *args = (struct rpango_reorder_items_args *)value; long i; GList *result; for (i = 0; i < args->n; i++) args->result = g_list_append(args->result, RVAL2PANGOITEM(RARRAY_PTR(args->ary)[i])); result = pango_reorder_items(args->result); g_list_free(args->result); return GLIST2ARY2(result, PANGO_TYPE_ITEM); }