I spent half the night debugging this crash today - gdb no longer works, so I had to do this by scattering printfs in the code. I localized it to this:
gtk_option_menu_set_menu(GTK_OPTION_MENU(us->menu), m);
in spus_rebuild_menu() in unit-menu.cpp. It's called when the first units menu for the selector toolbar is created. Both pointers are valid. I know gtk_option_menu is deprecated, but it must not crash! We have lots of old code with gtk_option_menu and absolutely no resources to rewrite them all.
If I comment that line out, it goes farther, but eventually still crashes somewhere. I have no energy left to figure out where.
Now, there's also an error box with the same "pango error" as the one I fixed for 0.42.2. As I understand it, it's caused by the crash handler's attempt to write prefs on exit. The prefs file is read OK but writing it out is broken (again). However, this only happens after the gtk_option_menu crash.
My conclusion: We have to roll back to 2.6. The gtk 2.8 seems to be really really broken on win98. I don't see how we can work around this.
Opinions?