diff --git a/code/modules/client/preference_setup/origin/origin.dm b/code/modules/client/preference_setup/origin/origin.dm index 4bb7e09b574..4b23e3acbd7 100644 --- a/code/modules/client/preference_setup/origin/origin.dm +++ b/code/modules/client/preference_setup/origin/origin.dm @@ -126,7 +126,7 @@ var/decl/origin_item/culture/chosen_culture = options[result] if(chosen_culture) show_window(chosen_culture, "set_culture_data", user) - return TOPIC_REFRESH + return TOPIC_HANDLED if(href_list["open_origin_menu"]) var/list/options = list() @@ -139,14 +139,16 @@ var/decl/origin_item/origin/chosen_origin = options[result] if(chosen_origin) show_window(chosen_origin, "set_origin_data", user) - return TOPIC_REFRESH + return TOPIC_HANDLED if(href_list["set_culture_data"]) + user << browse(null, "window=set_culture_data") pref.culture = html_decode(href_list["set_culture_data"]) sanitize_character() return TOPIC_REFRESH if(href_list["set_origin_data"]) + user << browse(null, "window=set_origin_data") pref.origin = html_decode(href_list["set_origin_data"]) sanitize_character() return TOPIC_REFRESH @@ -163,9 +165,10 @@ if(!choice || !CanUseTopic(user)) return TOPIC_NOACTION show_citizenship_menu(user, choice) - return TOPIC_REFRESH + return TOPIC_HANDLED if(href_list["set_citizenship"]) + user << browse(null, "window=citizen_win") pref.citizenship = (html_decode(href_list["set_citizenship"])) sanitize_character() return TOPIC_REFRESH @@ -176,9 +179,10 @@ if(!choice || !CanUseTopic(user)) return TOPIC_NOACTION show_religion_menu(user, choice) - return TOPIC_REFRESH + return TOPIC_HANDLED if(href_list["set_religion"]) + user << browse(null, "window=rel_win") pref.religion = (html_decode(href_list["set_religion"])) sanitize_character() return TOPIC_REFRESH @@ -189,9 +193,10 @@ if(!choice || !CanUseTopic(user)) return TOPIC_NOACTION show_accent_menu(user, choice) - return TOPIC_REFRESH + return TOPIC_HANDLED if(href_list["set_accent"]) + user << browse(null, "window=acc_win") pref.accent = (html_decode(href_list["set_accent"])) sanitize_character() return TOPIC_REFRESH @@ -239,4 +244,4 @@ dat += "
\[Select\]
" dat += "" acc_win.set_content(dat) - acc_win.open() \ No newline at end of file + acc_win.open() diff --git a/html/changelogs/johnwildkins-fixoriginui.yml b/html/changelogs/johnwildkins-fixoriginui.yml new file mode 100644 index 00000000000..05d00727f20 --- /dev/null +++ b/html/changelogs/johnwildkins-fixoriginui.yml @@ -0,0 +1,6 @@ +author: JohnWildkins + +delete-after: True + +changes: + - tweak: "Origin sub-menus should now remain in focus while selecting, and will close when an option is selected."