projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
separate sack integration test binary
[pspp]
/
src
/
ui
/
gui
/
psppire-dialog-action-indep-samps.c
diff --git
a/src/ui/gui/psppire-dialog-action-indep-samps.c
b/src/ui/gui/psppire-dialog-action-indep-samps.c
index faea2b41414975e1bf0519c4614e3de0bdb7fcd9..974c1e97f9935ba145859aa34b8dbd9c16c71b22 100644
(file)
--- a/
src/ui/gui/psppire-dialog-action-indep-samps.c
+++ b/
src/ui/gui/psppire-dialog-action-indep-samps.c
@@
-74,6
+74,7
@@
refresh (PsppireDialogAction *da)
value_destroy (&act->cut_point, width);
value_destroy (&act->grp_val[0], width);
value_destroy (&act->grp_val[1], width);
value_destroy (&act->cut_point, width);
value_destroy (&act->grp_val[0], width);
value_destroy (&act->grp_val[1], width);
+ var_unref (act->grp_var);
act->grp_var = NULL;
act->grp_var_width = -1;
}
act->grp_var = NULL;
act->grp_var_width = -1;
}
@@
-104,7
+105,7
@@
value_entry_contains_invalid (PsppireValueEntry *ve, const struct variable *var)
if (psppire_value_entry_get_value (ve, &val, width))
{
if (psppire_value_entry_get_value (ve, &val, width))
{
- if (var_is_value_missing (var, &val
, MV_SYSTEM)
)
+ if (var_is_value_missing (var, &val
) == MV_SYSTEM
)
{
result = TRUE;
}
{
result = TRUE;
}
@@
-243,7
+244,7
@@
on_grp_var_change (GtkEntry *entry, PsppireDialogActionIndepSamps *act)
PsppireDialogAction *da = PSPPIRE_DIALOG_ACTION (act);
const gchar *text = gtk_entry_get_text (entry);
PsppireDialogAction *da = PSPPIRE_DIALOG_ACTION (act);
const gchar *text = gtk_entry_get_text (entry);
-
const
struct variable *v = da->dict ? psppire_dict_lookup_var (da->dict, text) : NULL;
+ struct variable *v = da->dict ? psppire_dict_lookup_var (da->dict, text) : NULL;
gtk_widget_set_sensitive (act->define_groups_button, v != NULL);
gtk_widget_set_sensitive (act->define_groups_button, v != NULL);
@@
-276,7
+277,11
@@
on_grp_var_change (GtkEntry *entry, PsppireDialogActionIndepSamps *act)
}
}
}
}
- act->grp_var = v;
+ struct variable *old_grp_var = act->grp_var;
+ if (v)
+ act->grp_var = var_ref (v);
+ if (old_grp_var)
+ var_unref (old_grp_var);
act->grp_var_width = v ? var_get_width (v) : -1;
}
act->grp_var_width = v ? var_get_width (v) : -1;
}
@@
-379,8
+384,8
@@
generate_syntax (const PsppireDialogAction *a)
struct string strx;
ds_init_empty (&strx);
struct string strx;
ds_init_empty (&strx);
- s
yntax_gen_value (&strx, val, var_get_width (act->grp_var),
-
var_get_print_format (act->grp_var)
);
+ s
truct fmt_spec f = var_get_print_format (act->grp_var);
+
syntax_gen_value (&strx, val, var_get_width (act->grp_var), &f
);
g_string_append (str, ds_cstr (&strx));
ds_destroy (&strx);
g_string_append (str, ds_cstr (&strx));
ds_destroy (&strx);
@@
-394,8
+399,9
@@
generate_syntax (const PsppireDialogAction *a)
struct string strx;
ds_init_empty (&strx);
struct string strx;
ds_init_empty (&strx);
+ struct fmt_spec f = var_get_print_format (act->grp_var);
syntax_gen_value (&strx, &act->grp_val[1], var_get_width (act->grp_var),
syntax_gen_value (&strx, &act->grp_val[1], var_get_width (act->grp_var),
-
var_get_print_format (act->grp_var)
);
+
&f
);
g_string_append (str, ds_cstr (&strx));
ds_destroy (&strx);
g_string_append (str, ds_cstr (&strx));
ds_destroy (&strx);