mirror of
git://git.tartarus.org/simon/puzzles.git
synced 2025-04-21 16:05:44 -07:00
Don't forget to restore the correct selection in the dropdown list if
the user cancels a configuration dialog. [originally from svn r9789]
This commit is contained in:
15
emcc.c
15
emcc.c
@ -581,8 +581,21 @@ static void cfg_end(int use_results)
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
/*
|
/*
|
||||||
* User hit Cancel. Just close the dialog.
|
* User hit Cancel. Close the dialog, but also we must still
|
||||||
|
* reselect the right element of the dropdown list.
|
||||||
|
*
|
||||||
|
* (Because: imagine you have a preset selected, and then you
|
||||||
|
* select Custom from the list, but change your mind and hit
|
||||||
|
* Esc. The Custom option will now still be selected in the
|
||||||
|
* list, whereas obviously it should show the preset you still
|
||||||
|
* _actually_ have selected. Worse still, it'll be the visible
|
||||||
|
* rather than invisible Custom option - see the comment in
|
||||||
|
* js_add_preset in emcclib.js - so you won't even be able to
|
||||||
|
* select Custom without a faffy workaround.)
|
||||||
*/
|
*/
|
||||||
|
int preset = midend_which_preset(me);
|
||||||
|
js_select_preset(preset < 0 ? custom_preset : preset);
|
||||||
|
|
||||||
free_cfg(cfg);
|
free_cfg(cfg);
|
||||||
js_dialog_cleanup();
|
js_dialog_cleanup();
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user