Index: /issm/trunk-jpl/src/m/classes/plotoptions.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/plotoptions.m	(revision 11891)
+++ /issm/trunk-jpl/src/m/classes/plotoptions.m	(revision 11892)
@@ -48,6 +48,19 @@
 			 end
 
-			 %first: build a pairoptions out of varargin:
+			 %go through varargin and build list (like pairoptions)
 			 rawoptions=pairoptions(varargin{:});
+			 numoptions = (nargin-1)/2;
+			 rawlist=cell(numoptions,2);
+			 for i=1:numoptions,
+				 if ischar(varargin{2*i-1}),
+					 rawlist{i,1}=varargin{2*i-1};
+					 rawlist{i,2}=varargin{2*i};
+				 else
+					 %option is not a string, ignore it
+					 disp(['WARNING: option number ' num2str(i) ' is not a string, it will be ignored']);
+					 rawlist(i,:)=[];
+					 continue
+				 end
+			 end
 
 			 %get figure number
@@ -72,17 +85,17 @@
 
 			 %process plot options
-			 for i=1:size(rawoptions.list,1),
+			 for i=1:size(rawlist,1),
 
 				 %If alloptions flag has is on, apply to all plots
-				 if (allflag & ~strcmpi(rawoptions.list{i,1},'data') & ~ismember('#',rawoptions.list{i,1})),
+				 if (allflag & ~strcmpi(rawlist{i,1},'data') & ~ismember('#',rawlist{i,1})),
 					 for j=1:numberofplots,
-						 opt.list{j}=addfield(opt.list{j},rawoptions.list{i,1},rawoptions.list{i,2});
+						 opt.list{j}=addfield(opt.list{j},rawlist{i,1},rawlist{i,2});
 					 end
 
 					 %option contains '#'
-				 elseif ismember('#',rawoptions.list{i,1}),
+				 elseif ismember('#',rawlist{i,1}),
 
 					 %get suplot(s) associated
-					 string=strsplit(rawoptions.list{i,1},'#');
+					 string=strsplit(rawlist{i,1},'#');
 					 plotnums=string{end};
 					 field=string{1};
@@ -102,5 +115,5 @@
 						 elseif strcmpi(plotnum,'all');
 							 for j=1:numberofplots,
-								 opt.list{j}=addfield(opt.list{j},field,rawoptions.list{i,2});
+								 opt.list{j}=addfield(opt.list{j},field,rawlist{i,2});
 							 end
 
@@ -113,5 +126,5 @@
 							 end
 							 for j=nums(1):nums(2),
-								 opt.list{j}=addfield(opt.list{j},field,rawoptions.list{i,2});
+								 opt.list{j}=addfield(opt.list{j},field,rawlist{i,2});
 							 end
 
@@ -122,5 +135,5 @@
 								 error(['opt error message: ' field ' cannot be assigned (' plotnum ' exceed maximum number of plot)']);
 							 end
-							 opt.list{str2num(plotnum)}=addfield(opt.list{str2num(plotnum)},field,rawoptions.list{i,2});
+							 opt.list{str2num(plotnum)}=addfield(opt.list{str2num(plotnum)},field,rawlist{i,2});
 						 end
 					 end
@@ -132,6 +145,6 @@
 					 j=1;
 					 while (j<=numberofplots),
-						 if ~exist(opt.list{j},rawoptions.list{i,1});
-							 opt.list{j}=addfield(opt.list{j},rawoptions.list{i,1},rawoptions.list{i,2});
+						 if ~exist(opt.list{j},rawlist{i,1});
+							 opt.list{j}=addfield(opt.list{j},rawlist{i,1},rawlist{i,2});
 							 break
 						 else
@@ -140,5 +153,5 @@
 					 end
 					 if j>numberofplots,
-						 disp(['plot info message: too many ''' rawoptions.list{i,1} ''' options']);
+						 disp(['plot info message: too many ''' rawlist{i,1} ''' options']);
 					 end
 				 end
