--- loncom/interface/spreadsheet/Spreadsheet.pm 2005/05/17 20:17:03 1.51 +++ loncom/interface/spreadsheet/Spreadsheet.pm 2005/08/24 18:14:47 1.53 @@ -1,5 +1,5 @@ # -# $Id: Spreadsheet.pm,v 1.51 2005/05/17 20:17:03 albertel Exp $ +# $Id: Spreadsheet.pm,v 1.53 2005/08/24 18:14:47 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -1653,13 +1653,21 @@ sub load { } } $filename=$self->filename(); # filename may have changed - $cachekey = join('_',($cnum,$cdom,$stype,$filename)); - %{$spreadsheets{$cachekey}->{'formulas'}} = %{$formulas}; + $cachekey = join('_',($cnum,$cdom,$stype,$filename)); + if (ref($formulas) eq 'HASH') { + %{$spreadsheets{$cachekey}->{'formulas'}} = %{$formulas}; + } $self->formulas($formulas); $self->set_row_sources(); $self->set_row_numbers(); - %{$spreadsheets{$cachekey}->{'row_source'}} = %{$self->{'row_source'}}; - %{$spreadsheets{$cachekey}->{'row_numbers'}} = %{$self->{'row_numbers'}}; + if (ref($self->{'row_source'})) { + %{$spreadsheets{$cachekey}->{'row_source'}} = + %{$self->{'row_source'}}; + } + if (ref($self->{'row_numbers'})) { + %{$spreadsheets{$cachekey}->{'row_numbers'}} = + %{$self->{'row_numbers'}}; + } $spreadsheets{$cachekey}->{'maxrow'} = $self->{'maxrow'}; } }