Fixed bug reporting the significance of paired value t-test.
[pspp-builds.git] / lib / gtksheet / gtksheet.c
index 1118555df32e10b5acf3c5d9bd845a1b7753d4fb..942b0233117b4641a61b9dadccbec4fed9f51866 100644 (file)
@@ -96,15 +96,10 @@ enum
 #define CELL_SPACING 1
 #define DRAG_WIDTH 6
 #define TIMEOUT_HOVER 300
-#define TIME_INTERVAL 8
 #define COLUMN_MIN_WIDTH 10
-#define MINROWS 1
-#define MINCOLS 1
-#define MAXLENGTH 30
 #define CELLOFFSET 4
 #define DEFAULT_COLUMN_WIDTH 80
 
-
 static void gtk_sheet_update_primary_selection (GtkSheet *sheet);
 static void gtk_sheet_column_title_button_draw (GtkSheet *sheet, gint column);
 
@@ -2445,7 +2440,10 @@ gtk_sheet_dispose  (GObject *object)
   if (sheet->column_geometry) g_object_unref (sheet->column_geometry);
 
   g_object_unref (sheet->entry_container);
+  sheet->entry_container = NULL;
+
   g_object_unref (sheet->button);
+  sheet->button = NULL;
 
   /* unref adjustments */
   if (sheet->hadjustment)
@@ -2727,7 +2725,8 @@ gtk_sheet_unrealize (GtkWidget * widget)
   sheet->bg_gc = NULL;
 
   gtk_widget_unparent (sheet->entry_widget);
-  gtk_widget_unparent (sheet->button);
+  if (sheet->button != NULL)
+    gtk_widget_unparent (sheet->button);
 
   if (GTK_WIDGET_CLASS (parent_class)->unrealize)
     (* GTK_WIDGET_CLASS (parent_class)->unrealize) (widget);
@@ -7844,7 +7843,7 @@ gtk_sheet_button_new (void)
 }
 
 
-inline void
+void
 gtk_sheet_button_free (GtkSheetButton *button)
 {
   if (!button) return ;
@@ -7854,10 +7853,21 @@ gtk_sheet_button_free (GtkSheetButton *button)
 }
 
 
+static void
+append_cell_text (GString *string, const GtkSheet *sheet, gint r, gint c)
+{
+  gchar *celltext = gtk_sheet_cell_get_text (sheet, r, c);
+
+  if ( NULL == celltext)
+    return;
+
+  g_string_append (string, celltext);
+  g_free (celltext);
+}
+
 static GString *
 range_to_text (const GtkSheet *sheet)
 {
-  gchar *celltext = NULL;
   gint r, c;
   GString *string;
 
@@ -7870,16 +7880,12 @@ range_to_text (const GtkSheet *sheet)
     {
       for (c = sheet->range.col0; c < sheet->range.coli; ++c)
        {
-         celltext = gtk_sheet_cell_get_text (sheet, r, c);
-         g_string_append (string, celltext);
+         append_cell_text (string, sheet, r, c);
          g_string_append (string, "\t");
-         g_free (celltext);
        }
-      celltext = gtk_sheet_cell_get_text (sheet, r, c);
-      g_string_append (string, celltext);
+      append_cell_text (string, sheet, r, c);
       if ( r < sheet->range.rowi)
        g_string_append (string, "\n");
-      g_free (celltext);
     }
 
   return string;
@@ -7888,7 +7894,6 @@ range_to_text (const GtkSheet *sheet)
 static GString *
 range_to_html (const GtkSheet *sheet)
 {
-  gchar *celltext = NULL;
   gint r, c;
   GString *string;
 
@@ -7906,10 +7911,8 @@ range_to_html (const GtkSheet *sheet)
       for (c = sheet->range.col0; c <= sheet->range.coli; ++c)
        {
          g_string_append (string, "<td>");
-         celltext = gtk_sheet_cell_get_text (sheet, r, c);
-         g_string_append (string, celltext);
+         append_cell_text (string, sheet, r, c);
          g_string_append (string, "</td>\n");
-         g_free (celltext);
        }
       g_string_append (string, "</tr>\n");
     }