/[pspp]/psppire/gtk_sheet/gtksheet.c
ViewVC logotype

Diff of /psppire/gtk_sheet/gtksheet.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.5 by jmd, Sun Nov 13 03:33:41 2005 UTC revision 1.6 by jmd, Sun Nov 20 12:26:14 2005 UTC
# Line 7600  gtk_sheet_set_coding(GtkSheet *sheet, Gt Line 7600  gtk_sheet_set_coding(GtkSheet *sheet, Gt
7600    
7601    
7602  void  void
7603  gtk_sheet_range_set_type(GtkSheet *sheet, const GtkSheetRange *urange, GType type)  gtk_sheet_range_set_type(GtkSheet *sheet, const GtkSheetRange *urange,
7604                             GType type, Conversion convert)
7605  {  {
7606    gint i, j;    gint i, j;
7607    GtkSheetRange range;    GtkSheetRange range;
# Line 7632  gtk_sheet_range_set_type(GtkSheet *sheet Line 7633  gtk_sheet_range_set_type(GtkSheet *sheet
7633    
7634            if ( G_IS_VALUE(&cell->value))            if ( G_IS_VALUE(&cell->value))
7635              {              {
7636    
7637                if ( G_VALUE_TYPE(&cell->value) == type )                if ( G_VALUE_TYPE(&cell->value) == type )
7638                  continue;                  continue;
               g_value_unset(&cell->value);  
             }  
7639    
7640            g_value_init(&cell->value, type);                if ( convert)
7641                    {
7642                      convert(type, i, j, &cell->value);
7643                    }
7644                  else
7645                    {
7646                      GValue new_value = {0};            
7647                      g_value_init(&new_value, type);
7648                      if (!g_value_transform(&cell->value, &new_value))
7649                        {
7650                          g_warning("Failed to transform cell value at %d, %d\n",
7651                                    i, j);
7652                          g_value_unset(&cell->value);
7653                          g_value_init(&cell->value, type);
7654                          continue;
7655                        }
7656                      g_value_unset(&cell->value);
7657                      g_value_init(&cell->value, type);
7658                      g_value_copy(&new_value, &cell->value);
7659    
7660                      g_value_unset(&new_value);
7661                    }
7662                }
7663              else
7664                g_value_init(&cell->value, type);
7665          }          }
7666      }      }
7667  }  }

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26