Added some gtk-criticals when the datasheet is null.
authorJohn Darrington <john@darrington.wattle.id.au>
Sun, 22 Sep 2013 08:46:52 +0000 (10:46 +0200)
committerJohn Darrington <john@darrington.wattle.id.au>
Wed, 25 Sep 2013 06:00:07 +0000 (08:00 +0200)
In a single threaded, non-concurrent system, this should never happen.

src/ui/gui/psppire-data-sheet.c
src/ui/gui/psppire-data-store.c

index 55b8d884d48beba59e284671a2b77450e0aee49b..badc204165f49ddcc94ecd1173bae1815c1ee5a0 100644 (file)
@@ -124,6 +124,7 @@ on_query_tooltip (GtkWidget *widget, gint wx, gint wy,
   int width;
 
   g_return_val_if_fail (data_store != NULL, FALSE);
+  g_return_val_if_fail (data_store->datasheet != NULL, FALSE);
 
   if (!get_tooltip_location (widget, tooltip, wx, wy, &row, &column))
     return FALSE;
@@ -176,9 +177,9 @@ render_row_number_cell (PsppSheetViewColumn *tree_column,
 {
   PsppireDataStore *store = store_;
   GValue gvalue = { 0, };
-  gint row;
+  gint row = GPOINTER_TO_INT (iter->user_data);
 
-  row = GPOINTER_TO_INT (iter->user_data);
+  g_return_if_fail (store->datasheet);
 
   g_value_init (&gvalue, G_TYPE_INT);
   g_value_set_int (&gvalue, row + 1);
index fbeb737cf3821113daa51af173222b33ef7f9293..732398511907686a8aa900dbe29e329bc1d6aea7 100644 (file)
@@ -205,6 +205,7 @@ delete_variable_callback (GObject *obj, const struct variable *var UNUSED,
 {
   PsppireDataStore *store  = PSPPIRE_DATA_STORE (data);
 
+  g_return_if_fail (store->datasheet);
 
   datasheet_delete_columns (store->datasheet, case_index, 1);
   datasheet_insert_column (store->datasheet, NULL, -1, case_index);
@@ -431,6 +432,7 @@ psppire_data_store_get_string (PsppireDataStore *store,
   int width;
 
   g_return_val_if_fail (store != NULL, NULL);
+  g_return_val_if_fail (store->datasheet != NULL, NULL);
   g_return_val_if_fail (var != NULL, NULL);
 
   if (row < 0 || row >= datasheet_get_n_rows (store->datasheet))