-
Notifications
You must be signed in to change notification settings - Fork 819
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: simultaneous opening of Pitch Pie Menu and Grey Menu on Right Click #4007
base: master
Are you sure you want to change the base?
fix: simultaneous opening of Pitch Pie Menu and Grey Menu on Right Click #4007
Conversation
Can you please link to the issue you are fixing? Does it describe how to reproduce the issue? |
Thanks. I don't have a Mac, so I cannot test it. I presume you did? |
@walterbender Yes, I did. I think you can also reproduce the same error by doing ctrl + click on a block. |
If you control-click on the background, you don't get the large menu. Is that OK? Long press works on a block, but not on the background. Is that OK? I think a better solution would be to determine where the click is occurring. |
No, I get large menu. |
Hmm. The only way I can get the large menu on my machine (Fedora) is a right-click. |
@walterbender Were you able to reproduce it ( ctrl + click on a block and both menu's appear ) ? |
I am pressing ctrl + click ( using touchpad ). Maybe try this. I have tested on Windows and Mac, works fine. |
There are 4 different mechanisms at play across 5 conditions: Mechanisms: Conditions: We want the following priority:
1 and 2 can co-exist. In the current implementation, sometimes multiple conditions are triggered. |
I couldn't fully understand what you say. |
Any progress on this? |
@walterbender I am identifying in the code where each of the events are being triggered. |
I found that this.container has both an on-click and a press-up event listener:
The on-click listener checks if the Ctrl key is pressed. If it is, it triggers the piemenuBlockContext function, which displays a grey menu. After this, the function returns, preventing any further code from executing.
The press-up listener calls the _mouseoutCallback function, but only if that.blocks.getLongPressStatus is false. This ultimately triggers the _changeLabels function without checking whether the Ctrl key is pressed or not.
@walterbender Can you please review it ?