-
-
Notifications
You must be signed in to change notification settings - Fork 357
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
change on menu activation on list #6003
Comments
I was about to open a new issue, but since Steph already did, I complete it with what I already written: I don't know whether that should be reported here, or on the spec repository. description reproduce Expected behavior Version information (please complete the following information, you can get it from Help->about): |
Yes, this is a bug, probably related to the modal changes in menus. I'm checking it now. |
The issue was effectively introduced in build 178. The PR: #5964 So this has something to do with the event management, not the world refactoring. |
I've found the real problem with the event/click/button. Super funny hazardous thing. How Mouse Events WorkThe Hand is the one managing/dispatching the events. Now, the mouse events have two main flavours: mouseDown and mouseUp When a morph is interested on a click it has to
anEvent hand waitForClicksOrDrag: h
event: (anEvent transformedBy: tfm)
selectors: { nil. nil. nil. #dragTarget:. }
threshold: 5 When that happens, the hand changes its state, and stores a "MouseClickState object" that implements a kind of state machine to detect clicks and double clicks. After the mouseDown, the morph receives a mouseUp (that should be transformed into a click). self click.
aHand handleEvent: firstClickUp. Where
The problemOne problem happens when a morph decides to BLOCK on a modal window on the click- 😄 In my fix the other day, I exchanged the order. aHand handleEvent: firstClickUp.
self click. That solved that first problem. But that alters the order of the events. Thinking on a solutionChanging the order like I did above is not a good solution because It the event order makes sense. The solution has to ensure that:
it looks like we have to "return" the event to the event queue before clicking. Other PointersThe code of This should probably be tested further and deserves its own issue. |
- refactor processEventsFromQueue:, split obtention of events in nextEventFrom: - add pendingEventQueue and queuePendingEvent: - make nextEventFrom: give priority to pending events - make MouseClickState queue pending mouseUp for next cycle
May be this is not a bug.
Now I noticed that in Epicea if I select a list of items and select one action, the action is only happening on the items currently getting the action (because when I select the menu item it deselect the list).
I experimented a bit and to have the action on the selected items I have to keep shift or option pressed.
And I wonder if this is not related to the event change.
The text was updated successfully, but these errors were encountered: