Skip to content

--[BUGFIX] Make sure empty Markerset subconfigs are removed when appropriate#2434

Merged
jturner65 merged 3 commits intomainfrom
Bugfix_Markers
Jul 24, 2024
Merged

--[BUGFIX] Make sure empty Markerset subconfigs are removed when appropriate#2434
jturner65 merged 3 commits intomainfrom
Bugfix_Markers

Conversation

@jturner65
Copy link
Copy Markdown
Contributor

@jturner65 jturner65 commented Jul 23, 2024

Motivation and Context

If all the markers in a markerset are removed, the markerset should also be removed. This should apply to all levels of the hierarchy, so that empty (sub)objects are not written to JSON on save.

How Has This Been Tested

Locally c++ and python tests pass

Types of changes

  • Docs change / refactoring / dependency upgrade
  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have completed my CLA (see CONTRIBUTING)
  • I have added tests to cover my changes.
  • All new and existing tests passed.

@facebook-github-bot facebook-github-bot added the CLA Signed Do not delete this pull request or issue due to inactivity. label Jul 23, 2024
@jturner65 jturner65 requested review from 0mdc and aclegg3 July 23, 2024 16:52
@jturner65 jturner65 marked this pull request as ready for review July 23, 2024 16:52
Copy link
Copy Markdown
Contributor

@0mdc 0mdc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Instead of asserting, return a warning along with an empty vector <T> if the named subconfig is not found. This is consistent with the behavior of other indirect subconfig queries.
It is possible to have a JSON marker set object associated with a link and task that lists no points. Due to the markersets being managed generically as nested configurations, with access accomplished via static casting, it is then possible to access a MarkerSet object that may not have a "markers" subconfig. This is a reasonable state, and should result in an assertion when attempting to query the MarkerSet.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed Do not delete this pull request or issue due to inactivity.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants