http://imagej.273.s1.nabble.com/Possible-bug-in-Multi-point-tool-tp5016631p5016637.html
> I believe I have found a bug in multi-point tool. Or at least it behaves not as I expected. When I use only 1 counter (which are possible to choose by double clicking on the tool) then everything goes OK - I can select different markers, colors, sizes. However, when I try to use several counters then several things happen:
> 1) Whichever color I choose initially (counter 0 by default) then after selecting the next counter (1, 2 or else) colors change to predefined color scheme (0 - yellow, 1 - magenta, 2 - cyan, 3 - orange, 4 - green, 5 - blue etc. ). So, then there is no possibility to change colors for any counters after that.
There is currently no way to change marker colors when using more than one counter.
> 2) If I remove Multi-point tool points all at once (not by manual alt-click) by using other tool selection and clicking, then the next time I start Multi-point tool counter 0 cannot be started as it automatically switches back to the last counter I use on previous image. So, if I closed previous image using counter 3 then on the next image even if I choose counter 0 - it auto switches to counter 3.
This bug should be fixed in the latest ImageJ daily build (v1.51d4).
> 3) If in this case I try to change misbehaving counter back to counter 0 and begin counting using clicks, then either of 2 things may happen:
>
> - IJ throws out 1 of 2 exceptions (attached below) or
> - after some points appearing for counter 0 program tool hangs - clicks do not produce points any more. In this case, deselecting/selecting Multi-point tool helps and it begins to work again.
>
> System:
> I have tried several images including ImageJ "Samples" ("Blobs", Boats). ImageJ version is 1.50i on Windows 7 64-bit, tried on two different computers.
>
> Sincerely,
> Alex
>
>
>
> ImageJ exceptions:
> =====================
> Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 32
> at ij.gui.PointRoi.drawPoint(PointRoi.java:183)
> at ij.gui.PointRoi.draw(PointRoi.java:162)
> at ij.gui.ImageCanvas.drawRoi(ImageCanvas.java:265)
> at ij.gui.ImageCanvas.paintDoubleBuffered(ImageCanvas.java:521)
> at ij.gui.ImageCanvas.paint(ImageCanvas.java:208)
> at ij.gui.ImageCanvas.update(ImageCanvas.java:197)
> at sun.awt.RepaintArea.updateComponent(RepaintArea.java:239)
> at sun.awt.RepaintArea.paint(RepaintArea.java:216)
> at sun.awt.windows.WComponentPeer.handleEvent(WComponentPeer.java:310)
> at java.awt.Component.dispatchEventImpl(Component.java:4728)
> at java.awt.Component.dispatchEvent(Component.java:4482)
> at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:644)
> at java.awt.EventQueue.access$000(EventQueue.java:85)
> at java.awt.EventQueue$1.run(EventQueue.java:603)
> at java.awt.EventQueue$1.run(EventQueue.java:601)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
> at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
> at java.awt.EventQueue$2.run(EventQueue.java:617)
> at java.awt.EventQueue$2.run(EventQueue.java:615)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
> at java.awt.EventQueue.dispatchEvent(EventQueue.java:614)
> at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
> at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
> at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
> at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
> at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
> at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
>
> ===================
> Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 8
> at ij.gui.PointRoi.drawPoint(PointRoi.java:183)
> at ij.gui.PointRoi.draw(PointRoi.java:162)
> at ij.gui.ImageCanvas.drawRoi(ImageCanvas.java:265)
> at ij.gui.ImageCanvas.paintDoubleBuffered(ImageCanvas.java:521)
> at ij.gui.ImageCanvas.paint(ImageCanvas.java:208)
> at ij.gui.ImageCanvas.update(ImageCanvas.java:197)
> at sun.awt.RepaintArea.updateComponent(RepaintArea.java:239)
> at sun.awt.RepaintArea.paint(RepaintArea.java:216)
> at sun.awt.windows.WComponentPeer.handleEvent(WComponentPeer.java:310)
> at java.awt.Component.dispatchEventImpl(Component.java:4728)
> at java.awt.Component.dispatchEvent(Component.java:4482)
> at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:644)
> at java.awt.EventQueue.access$000(EventQueue.java:85)
> at java.awt.EventQueue$1.run(EventQueue.java:603)
> at java.awt.EventQueue$1.run(EventQueue.java:601)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
> at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
> at java.awt.EventQueue$2.run(EventQueue.java:617)
> at java.awt.EventQueue$2.run(EventQueue.java:615)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
> at java.awt.EventQueue.dispatchEvent(EventQueue.java:614)
> at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
> at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
> at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
> at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
> at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
> at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
>
> --
> ImageJ mailing list:
http://imagej.nih.gov/ij/list.html