- get_widget_assert (xml, "goto-case-case-num-entry");
-
- case_num = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (case_num_entry))
- - FIRST_CASE_NUMBER ;
-
- g_object_set (de->data_editor, "current-case", case_num, NULL);
+ get_widget_assert (xml, "goto-case-case-num-entry");
+
+ glong case_num =
+ gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (case_num_entry))
+ - FIRST_CASE_NUMBER ;
+
+ if (case_num >= 0 &&
+ case_num < gtk_tree_model_iter_n_children (ds->data_model, NULL))
+ {
+ jmd_sheet_scroll_to (ds, -1, case_num);
+ jmd_sheet_set_active_cell (ds, -1, case_num, 0);
+ }