コード例 #1
0
ファイル: gda-data-model-array.c プロジェクト: UIKit0/libgda
static void
gda_data_model_array_finalize (GObject *object)
{
	GdaDataModelArray *model = (GdaDataModelArray *) object;

	g_return_if_fail (GDA_IS_DATA_MODEL_ARRAY (model));

	/* free memory */
	gda_data_model_freeze (GDA_DATA_MODEL(model));
	gda_data_model_array_clear (model);
	g_array_free (model->priv->rows, TRUE);
	g_hash_table_foreach (model->priv->column_spec, (GHFunc) hash_free_column, model);
        g_hash_table_destroy (model->priv->column_spec);
        model->priv->column_spec = NULL;

	g_free (model->priv);
	model->priv = NULL;

	/* chain to parent class */
	parent_class->finalize (object);
}
コード例 #2
0
ファイル: ui-formgrid.c プロジェクト: zzeroo/libgda
static void
action_executed_holder_changed_cb (G_GNUC_UNUSED GdaSet *params, G_GNUC_UNUSED GdaHolder *holder,
				   ActionExecutedData *aed)
{
	if (! aed->formgrid->priv->autoupdate || ! aed->formgrid->priv->autoupdate_possible)
		return;

	GError *error = NULL;
	gda_data_model_freeze (aed->model);
	if (!t_connection_rerun_select (aed->tcnc, aed->model, &error)) {
		GtkWidget *toplevel;
		toplevel = gtk_widget_get_toplevel (GTK_WIDGET (aed->formgrid));
		ui_show_error (GTK_WINDOW (toplevel),
			       _("Error executing query:\n%s"), error->message ? error->message : _("No detail"));
		g_clear_error (&error);
		gda_data_model_thaw (aed->model);
	}
	else {
		gda_data_model_thaw (aed->model);
		gda_data_model_reset (aed->model);
	}
}