Re: Request for ****istance - bizarre error on merge
Reply #4 –
Nathaneal,
thank you very much for your help with this. I have been somewhat too tired to work on this to-day, but think that these warnings might be relevant, given what you wrote above:
1>f:\my documents\development\simutrans\simutrans-experimental-sources\gui\gui_container.h(79): warning C4091: 'virtual ' : ignored on left of 'gui_container_t' when no variable is declared
1>f:\my documents\development\simutrans\simutrans-experimental-sources\gui\settings_stats.h(209): warning C4584: 'settings_climates_stats_t' : base-cl**** 'gui_container_t' is already a base-cl**** of 'settings_stats_t'
1> f:\my documents\development\simutrans\simutrans-experimental-sources\gui\gui_container.h(24) : see declaration of 'gui_container_t'
1> f:\my documents\development\simutrans\simutrans-experimental-sources\gui\settings_stats.h(133) : see declaration of 'settings_stats_t'
Bingo.
The reason standard is working is that gui_container_t is *not* a public base cl**** of settings_stats_t in standard.
Bernd caused settings_stats_t to inherit from gui_container_t in experimental.
It's all related to this commit from Bernd:
http://github.com/neroden/simutrans/commit/13c4b9ffaec79f50f63847ce4a0752de4c758957
You have to apply the same change to the new cl**** settings_climate_stats_t which Bernd already applied to all the previously existing similar cl****es. Replace this line in settings_stats.h:
cl**** settings_climates_stats_t : protected settings_stats_t, public gui_container_t, public action_listener_t
with this:
cl**** settings_climates_stats_t : public settings_stats_t, public action_listener_t
I'm betting that will do the trick. But I haven't tested it yet. If you have any further problems don't hesitate to ask. :-)