Windows trays: Fix fetching parent entry from submenu, allow enabling and disabling entries that aren't checkboxes #12003
+7
−10
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.
Description
The
test/testtray
program would crash on Windows when adding any item and then removing it, because a submenu's parent_entry field was not set.Additionally, I noticed that some extraneous code copied from the
{G,S}etTrayEntryChecked
made{G,S}etTrayEntryEnabled
work only for checkboxes, which is not the desired behavior.Both issues were fixed in this commit.
Relatedly, it may be worth to take some time before the first full release to exhaustively test trays and dialogs on all platforms. I did some summary testing on Windows, but I can write extensive unit tests that can quickly be run on all platforms, so that we won't need to manually try every possible combination to find embarrassing mistakes like these two.
Existing Issue(s)
Fixes #12002