fix - Stop execution on missing input in SetPitchNumberOffsetBlock #4819
+10
−4
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.
This PR addresses a logical inconsistency in js/blocks/PitchBlocks.js within the SetPitchNumberOffsetBlock. Previously, the block would throw a UI error message when inputs were missing (null) but would continue to execute using hardcoded defaults ("C" and 4).
Changes:
Modified the flow method in SetPitchNumberOffsetBlock.
Added a return statement immediately after the error check to halt execution when inputs are invalid.
Removed the fallback logic for default values (const arg0 = ... ? "C" : ...), as it is now unreachable and unnecessary.
Impact:
Ensures the application fails gracefully and truthfully: when an error message is shown, the action is actually cancelled.
Prevents "silent failures" where a user thinks their code is working but it is actually running on hidden default values.
Fixes #4818
added a missing zero-division check to doMod in js/utils/mathutils.js.
doDivide() already throws a DivByZeroError, but doMod() returned NaN when b = 0, causing inconsistent behavior.