BF: Prevent exception on ImageStim.setImage(undefined) #609
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.
If the image of an
ImageStimis based off a column in a data file, and an entry in that column is blank because there is not supposed to be an image, then the experiment crashes.At present,
ImageStimcan handle having anundefinedimage (a) initially, and (b) whensetImage(undefined)is called while the image is alreadyundefined. In the second case, it handles theonChangedsignal gracefully, because it checks whetherexistingImageis valid before accessingexistingImage.srcorimage.src. However, ifexistingImageis valid butimageis not (because you're trying to clear the image by intentionally setting it toundefined), then the check is insufficient and we get an unhandled exception onimage.src.This also changes the
hasChangedlogic to befalseif bothexistingImageandimageareundefined- but I think whether that should be the case is a design consideration. I don't have any sense of what_onChangeis needed for, so I don't know which functionality is more appropriate. Feel free to revert to just: true;if it doesn't make sense.