NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
=?iso-8859-1?Q?Mathias_St=FCmpert?= wrote: > I think I found a bug in ShapeControl.setShapes: > > int len = Math.max(shs.length, shapes.length); > for (int i=0; i<len; i++) { > shapes[i] = shs[i]; > } > > That causes an ArrayIndexOutOfBoundsException in my app because the for > loops to the max of the lengths of both arrays. Looks like a bug to me, too. This patch should take care of that: diff -u -3 -p -r1.20 ShapeControl.java --- ShapeControl.java 7 Jan 2002 18:42:55 -0000 1.20 +++ ShapeControl.java 1 May 2002 16:33:17 -0000 @@ -101,9 +101,14 @@ public class ShapeControl extends Contro throws VisADException, RemoteException { if (shapeSet == null) return; if (shs != null && shs.length > 0) { - int len = Math.max(shs.length, shapes.length); + final int len = Math.min(shs.length, shapes.length); for (int i=0; i<len; i++) { shapes[i] = shs[i]; + } + if (shapes.length > shs.length) { + for (int i=shs.length; i < shapes.length; i++) { + shapes[i] = null; + } } } changeControl(true);
visad
archives: