projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
psppire_data_editor: Don't crash when trying to insert when no variable or case is...
[pspp]
/
src
/
ui
/
gui
/
psppire-data-editor.c
diff --git
a/src/ui/gui/psppire-data-editor.c
b/src/ui/gui/psppire-data-editor.c
index 8ceda9c5e578abcdd88b9884e82d2a2a486fc644..97b18e1b06a6c3b9a31b702b17615771f5e6ceb0 100644
(file)
--- a/
src/ui/gui/psppire-data-editor.c
+++ b/
src/ui/gui/psppire-data-editor.c
@@
-459,6
+459,8
@@
psppire_data_editor_var_delete_variables (PsppireDataEditor *de)
void
psppire_data_editor_insert_new_case_at_posn (PsppireDataEditor *de, gint posn)
{
void
psppire_data_editor_insert_new_case_at_posn (PsppireDataEditor *de, gint posn)
{
+ g_return_if_fail (posn >= 0);
+
psppire_data_store_insert_new_case (de->data_store, posn);
gtk_widget_queue_draw (GTK_WIDGET (de->data_sheet));
psppire_data_store_insert_new_case (de->data_store, posn);
gtk_widget_queue_draw (GTK_WIDGET (de->data_sheet));
@@
-467,7
+469,9
@@
psppire_data_editor_insert_new_case_at_posn (PsppireDataEditor *de, gint posn)
void
psppire_data_editor_insert_new_variable_at_posn (PsppireDataEditor *de, gint posn)
{
void
psppire_data_editor_insert_new_variable_at_posn (PsppireDataEditor *de, gint posn)
{
+ g_return_if_fail (posn >= 0);
const struct variable *v = psppire_dict_insert_variable (de->dict, posn, NULL);
const struct variable *v = psppire_dict_insert_variable (de->dict, posn, NULL);
+ g_return_if_fail (v);
psppire_data_store_insert_value (de->data_store, var_get_width(v),
var_get_case_index (v));
psppire_data_store_insert_value (de->data_store, var_get_width(v),
var_get_case_index (v));