From 7eec4c8d3b06a6db29eb1d57c17e8836e900c2ef Mon Sep 17 00:00:00 2001 From: somewhatlurker <52014015+somewhatlurker@users.noreply.github.com> Date: Mon, 26 Aug 2019 13:42:42 +1000 Subject: [PATCH] launcher: fix change detection for non-editable dropdowns --- source-code/source/plugins/Launcher/ConfigOption.h | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/source-code/source/plugins/Launcher/ConfigOption.h b/source-code/source/plugins/Launcher/ConfigOption.h index 8cd1589..ba99518 100644 --- a/source-code/source/plugins/Launcher/ConfigOption.h +++ b/source-code/source/plugins/Launcher/ConfigOption.h @@ -691,7 +691,10 @@ public: if (hasChanged == nullptr) hasChanged = new bool(false); ChangeHandler^ changehandler = gcnew ChangeHandler(hasChanged); - combobox->TextChanged += gcnew System::EventHandler(changehandler, &ChangeHandler::SetChanged); + if (_editable) + combobox->TextChanged += gcnew System::EventHandler(changehandler, &ChangeHandler::SetChanged); + else + combobox->SelectedIndexChanged += gcnew System::EventHandler(changehandler, &ChangeHandler::SetChanged); panel->Controls->Add(label); panel->Controls->Add(combobox); @@ -799,7 +802,10 @@ public: if (hasChanged == nullptr) hasChanged = new bool(false); ChangeHandler^ changehandler = gcnew ChangeHandler(hasChanged); - combobox->TextChanged += gcnew System::EventHandler(changehandler, &ChangeHandler::SetChanged); + if (_editable) + combobox->TextChanged += gcnew System::EventHandler(changehandler, &ChangeHandler::SetChanged); + else + combobox->SelectedIndexChanged += gcnew System::EventHandler(changehandler, &ChangeHandler::SetChanged); panel->Controls->Add(label); panel->Controls->Add(combobox);