Fix output workspace overwriting in ISIS SANS GUI #37368
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description of work
Summary of work
This PR fixes the linked issue to ensure that if output names are set for some but not all rows in the ISIS SANS GUI then re-processing a row won't cause the wrong output workspace to be updated.
Fixes #37356.
Report to: Steve and Dirk in the ISIS SANS Group
Further detail of work
There were a couple of issues found when investigating that are described on this comment: #37356 (comment).
The first bullet point (the fact that changing the output name on row state objects caused the main state object to be updated) is addressed in this PR by copying the save settings rather than assigning the save settings object reference to the row state. I've also changed the code so that we only do this if a custom user file has been passed in, as otherwise we are already taking a deep copy of the main state object and so will get all of the GUI settings anyway.
The second issue is addressed by making sure that we are updating the output name on the row state even when that row doesn't have anything set. This will ensure that we clear any value that may have been copied across from the main state.
To test:
See instructions on linked issue and check that we now get the expected behaviour.
Reviewer
Please comment on the points listed below (full description).
Your comments will be used as part of the gatekeeper process, so please comment clearly on what you have checked during your review. If changes are made to the PR during the review process then your final comment will be the most important for gatekeepers. In this comment you should make it clear why any earlier review is still valid, or confirm that all requested changes have been addressed.
Code Review
Functional Tests
Does everything look good? Mark the review as Approve. A member of
@mantidproject/gatekeepers
will take care of it.Gatekeeper
If you need to request changes to a PR then please add a comment and set the review status to "Request changes". This will stop the PR from showing up in the list for other gatekeepers.