Instantiate menuInterface earlier to avoid race condition#82
Open
iquito wants to merge 1 commit intoranbuch:masterfrom
Open
Instantiate menuInterface earlier to avoid race condition#82iquito wants to merge 1 commit intoranbuch:masterfrom
iquito wants to merge 1 commit intoranbuch:masterfrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.