1. The menus were basing their surface sizes on the values stored in the user's options, which got updated immediately.
2. The graphics system (g_gr; Graphic) was not being reinitialized on exit from the options submenu, so the window size was not changed.
3. The graphics system was being reinitialized halfway through game startup (when Interactive_Base was created). This caused funky texture / graphic issues possibly related to the image cache changes in r6446 - there is a note against init_graphics() to say don't call it whilst UI elements are active.
There's a few sub-bugs here...
1. The menus were basing their surface sizes on the values stored in the user's options, which got updated immediately.
2. The graphics system (g_gr; Graphic) was not being reinitialized on exit from the options submenu, so the window size was not changed.
3. The graphics system was being reinitialized halfway through game startup (when Interactive_Base was created). This caused funky texture / graphic issues possibly related to the image cache changes in r6446 - there is a note against init_graphics() to say don't call it whilst UI elements are active.