chiark / gitweb /
Replace fe->preset_menu when we change midend.
authorSimon Tatham <anakin@pobox.com>
Wed, 12 Dec 2018 22:18:00 +0000 (22:18 +0000)
committerSimon Tatham <anakin@pobox.com>
Wed, 12 Dec 2018 22:18:00 +0000 (22:18 +0000)
commitced51ada363d895eee796dd03923042f97f95321
tree9f14c89721066a7b896f73caedf3d303535cb0be
parent0a5d13bcd5e6a88418abaf528d9d529ced7dfb9c
Replace fe->preset_menu when we change midend.

Thanks to Rocco Matano for reporting that in the -DCOMBINED version of
the Windows front end, switching games causes a crash because the
presets menu from the old midend is still left over in fe, and its
presence inhibits the setup code from making a new one. Now we throw
it out at the same time as we throw out the old midend itself.

Also, the condition 'if (!fe->preset_menu)' was misguided. I think the
point of that was to avoid pointlessly tearing down and rebuilding the
preset menu when we're _not_ changing game - but that's a cost too
small to worry about if it causes the slightest trouble. Now
fe->preset_menu should always be NULL at that point in the function,
so I've replaced the if with an assert.
windows.c