diff src/pt-idx.cc @ 7200:12a12ef1f1bc

[project @ 2007-11-27 05:51:46 by jwe]
author jwe
date Tue, 27 Nov 2007 05:51:46 +0000
parents 28607462901f
children 745a8299c2b5
line wrap: on
line diff
--- a/src/pt-idx.cc	Tue Nov 27 03:29:57 2007 +0000
+++ b/src/pt-idx.cc	Tue Nov 27 05:51:46 2007 +0000
@@ -513,7 +513,9 @@
 
 				retval.numel (nel);
 			      }
-			    else if (first_retval_object.is_defined ())
+			    else if (first_retval_object.is_defined ()
+				     && ! (first_retval_object.is_real_matrix ()
+					   && first_retval_object.is_zero_by_zero ()))
 			      {
 				octave_value_list tmp_list
 				  = first_retval_object.subsref (ttype, idx, 1);
@@ -530,7 +532,9 @@
 			  }
 			else
 			  {
-			    if (first_retval_object.is_defined ())
+			    if (first_retval_object.is_defined ()
+				&& ! (first_retval_object.is_real_matrix ()
+				      && first_retval_object.is_zero_by_zero ()))
 			      retval.numel (first_retval_object.numel ());
 			    else
 			      retval.numel (1);
@@ -542,7 +546,9 @@
 
 			if (! have_new_struct_field)
 			  {
-			    if (i > 0 && first_retval_object.is_defined ())
+			    if (i > 0 && first_retval_object.is_defined ()
+				&& ! (first_retval_object.is_real_matrix ()
+				      && first_retval_object.is_zero_by_zero ()))
 			      {
 				std::string ttype = type.substr (0, i);