/** * colrow_state_group_destroy: * @set: (transfer full): the group to destroy. * * Returns: (transfer none): %NULL. **/ ColRowStateGroup * colrow_state_group_destroy (ColRowStateGroup *group) { ColRowStateGroup *ptr; for (ptr = group; ptr != NULL ; ptr = ptr->next) colrow_state_list_destroy (ptr->data); g_slist_free (group); return NULL; }
void cellregion_unref (GnmCellRegion *cr) { g_return_if_fail (cr != NULL); if (cr->ref_count > 1) { cr->ref_count--; return; } if (NULL != cr->cell_content) { g_hash_table_destroy (cr->cell_content); cr->cell_content = NULL; } if (NULL != cr->col_state) cr->col_state = colrow_state_list_destroy (cr->col_state); if (NULL != cr->row_state) cr->row_state = colrow_state_list_destroy (cr->row_state); if (cr->styles != NULL) { style_list_free (cr->styles); cr->styles = NULL; } if (cr->merged != NULL) { GSList *ptr; for (ptr = cr->merged; ptr != NULL ; ptr = ptr->next) g_free (ptr->data); g_slist_free (cr->merged); cr->merged = NULL; } if (cr->objects != NULL) { GSList *ptr; for (ptr = cr->objects; ptr != NULL ; ptr = ptr->next) g_object_unref (ptr->data); g_slist_free (cr->objects); cr->objects = NULL; } g_free (cr); }