Bug [2248313] NoSuchElementException in ColorConfigurer.stringToColor()
We had almost fixed this last time, but where too specific with our Exception checks. Any exception at all when building the ColorConfigurer should generate a Bad Color error report.
In the event that there is some weird exception we weren’t expecting
which gets thrown here, catching Exception is going to make it harder
for us to find out about it, since in that case we won’t receive any
automatic bug reports.
So I’d like to do the more verbose thing and be safe.
Bug [2265820] StackOverflowError in LaunchButton$1.actionPerformed()
This was bug is caused by an ActionButton issuing it’s own hotkey. I’ve added some simple loop detection. To be 100% accurate, we should be keeping a seperate recurse count for each seperate ActionButton, but I don’t think the added complication is really required. If 50 ActionButtons get called without returning, something is wrong. 50 may even be a bit high?
Also, I think it is time to close all of the ModuleError sourceforge bugs.
I don’t want to close them, because then they’ll be harder to add to Bugzilla
in a few weeks. (I think we should have a category for module bugs there,
and I don’t want these to get lost.)
What I will do is move them out of the Bugs tracker. We have a Support
Requests tracker which isn’t being used at present, so all of these module
bugs can live there for the time being.
Is there a simpler way to do this? E.g., could we just catch
StackOverflowError here and not bother counting?
What I’d really like to do is check for loops when the ActionButton is
built, but I suspect that the combination of triggers and tests we have
is Turing complete and so testing for loops would be equivalent to solving
the Halting Problem.
My worry was that once the Stack has overflowed and you’ve caught that, wouldn’t calling ErrorDialog cause it to overflow again?
I’m just trying that now and clicking the button a third time, the dialog stops appearing. Trying to debug it and everything just hangs.
I considered that, but essentially yes, you would need to ‘generate’ and follow the chain of Key Commands and see if it leads back to the ActionButton i.e. running it. Capturing it cleanly at run-time is fine.
Bug [2294041] Bad Image generates IOException instead of Bad Data report
If a module references an invalid image that is already in the module, it is failing with a Bug Report for an IOException, when I think it should be a Bad Data Report.
This fix of mine is a quick hack to solve this, feel free to refactor.
However, we have the same problem when you try and load an image into the module - it generates an IOException bug report, but still loads the image into the module. In fact, I think it is the reading of the image after the load that is failing, Vassal is happily (and quietly) loading invalid images into the module.
I haven’t looked further because I wasn’t sure if you where working in this area?
Bug [2290225] Cancel when setting a Dynamic/Global Property sets to null
There was some discussion as to whether this was a bug or a feature, but it is definitely a bug. It also happens when selecting from a list of values, Cancel sets the DP to null, which is not a value on the list.
bug [2261405] Unable to move region in irregular grid?
I downloaded the module indicated in the bug report (eastfront.free.fr/VASSAL/EuF2_irr_grid), but it appears to be corrupted, it is not a Vassal module, or even a Zip file.