After much single-stepping through the programming, I found the bug and fixed it.
Short form:
The money was being transferred in two separate places from two separate methods.
I changed this to just do a single call into the Player.buyShare() method.
|