Instantiate menuInterface earlier to avoid race condition #82
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.
When trying to overwrite a menu element via something like this:
I had the problem that I got the error "Cannot set properties of undefined", because it seems menuInterface had not been created when I tried to call the code, because it is created in the "build" method of the class Accessibility which is called in an async way. Looking through the code I did not find a reason why menuInterface is not just defined early in the constructor (maybe in the past there was a reason why it was initialized this late, but that reason is not around anymore?).
So I suggest to just create the object early on and not in an async method in order to make overwriting menu items work as suggested in the manual - currently I guess it is a race condition, but I would assume it usually fails, as it fails every time on my project. If I run the same code 2 seconds later it works fine.