diff options
author | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2022-04-26 21:59:36 +0300 |
---|---|---|
committer | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2022-04-26 22:02:00 +0300 |
commit | 29de643ffd09257844156c3414f800d84092d790 (patch) | |
tree | 9687618f40e1922b5f46af0f6ad3249ff0fc29a9 | |
parent | 1a325b38da9c87020b56da546b31c9c699d52e3f (diff) |
SL-15383 Controls table was empty after canceling advanced graphical settings
Also causes crashes on SearchableControl::setHighlighted due to views not being there
-rw-r--r-- | indra/newview/llfloaterpreference.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp index 9064a65d05..9e1829fd8b 100644 --- a/indra/newview/llfloaterpreference.cpp +++ b/indra/newview/llfloaterpreference.cpp @@ -3006,10 +3006,15 @@ void LLPanelPreferenceControls::cancel() if (mConflictHandler[i].hasUnsavedChanges()) { mConflictHandler[i].clear(); + if (mEditingMode == i) + { + // cancel() can be called either when preferences floater closes + // or when child floater closes (like advanced graphical settings) + // in which case we need to clear and repopulate table + regenerateControls(); + } } } - pControlsTable->clearRows(); - pControlsTable->clearColumns(); } void LLPanelPreferenceControls::saveSettings() |