static void _rut_buffer_free(void *object) { rut_buffer_t *buffer = object; c_free(buffer->data); rut_object_free(rut_buffer_t, buffer); }
static void _rut_attribute_free(rut_object_t *object) { rut_attribute_t *attribute = object; if (attribute->is_buffered) rut_object_unref(attribute->buffered.buffer); rut_object_free(rut_attribute_t, attribute); }
static void _rut_rectangle_free(void *object) { rut_rectangle_t *rectangle = object; cg_object_unref(rectangle->pipeline); rut_graphable_destroy(rectangle); rut_object_free(rut_rectangle_t, object); }
static void _rut_mesh_free(rut_object_t *object) { rut_mesh_t *mesh = object; int i; for (i = 0; i < mesh->n_attributes; i++) rut_object_unref(mesh->attributes[i]); c_slice_free1(mesh->n_attributes * sizeof(void *), mesh->attributes); rut_object_free(rut_mesh_t, mesh); }
static void _rut_fold_free(void *object) { rut_fold_t *fold = object; rut_fold_set_child(fold, NULL); rut_object_unref(fold->fold_up_icon); rut_object_unref(fold->fold_down_icon); rut_graphable_destroy(fold); rig_introspectable_destroy(fold); rut_object_free(rut_fold_t, fold); }