So it's pretty clear that the crash is in TextPlane::Draw, hud.cpp:232
Code: Select all
if (!use_bit) {
scalex=(_Universe->numPlayers()>3?_Universe->numPlayers()/2:_Universe->numPlayers())*myFontMetrics.i/std_wid;
scaley=myFontMetrics.j/(119.05+33.33);
}
The only thing that would cause a crash in an accessor function like numPlayers() would be if _Universe is NULL.
Now, this happens to be the only place where it references _Universe, and it only happens if not using bitmap fonts. A NULL _Universe is an easy condition to check for, so I'll commit a fix with that.
Well I did just set high_quality_fonts to "false" in the config file, and immediately I got the crash... at some point, the loading order must have changed... not that this is a bad thing, since the sooner it can get a loading graphic up, the better.
Even more worrisome is that "svn blame" pointed out that I was the one who committed this very line of code almost 4 years ago...
Any way, I am committing the fix for this. Thanks for debugging this one.