Have been away from the Axoloti for a while, but now getting back. I've updated my git tree to 1.0.11, and building from source via platform_linux/build.sh on Debian Jessie, and I'm having a weird problem which seems to be related to commit a955462936ace48f37cc5fe5302ecfbd180fccc2 .
When I start the Axoloti UI, I get the following java exception:
java.lang.NullPointerException
at axoloti.MainFrame$2.run(MainFrame.java:276)
(and a whole bunch of traceback printouts).
The line in question contains the following statement:
String cb = ulib.getCurrentBranch();
and ulib being an AxolotiLibrary, getCurrentBranch() in AxolotiLibrary.java looks like this:
public String getCurrentBranch() { return getBranch(); }
Now, I'm not at all fluent in Java, but it looks like getCurrentBranch() and getBranch() would return the same thing, but in MainFrame.java, the two are compared for equality and then acted on - perhaps this is intended as a future feature, as currently both methods seem to return the same value.
However, the weird thing is that getCurrentBranch() never seems to run at all when called. The resulting String is assigned to null, and adding a printout to getCurrentBranch() shows that the method is never run. I can't understand how this can be, perhaps it's a Java feature somehow? I could imagine some form of overloading, but the only overloading I can find is in the AxoGitLibrary class, but it's not that type of object.
I can't see anyone else having reported this, so I'm thinking it's something in my setup, but I can't really fathom what at this point.
Does Java cache any internal references away between compilations, other than in build/classes?
UPDATE: I checked out a fresh tree, built it and it runs fine, so it must be something that's left over from the previous build. I wish I knew what though, it is impractical not just to be able to do a git pull to update an existing tree.