I have a view (custom subclass of NSView
) that overrides mouseDown:
and mouseUp:
. If I double-click the view, I expect to see a sequence of events:
mouseDown
withclickCount == 1
mouseUp
withclickCount == 1
mouseDown
withclickCount == 2
mouseUp
withclickCount == 2
Usually, that's what happens. But occasionally, the second or both mouse up events don't arrive. That's a problem, because it's my understanding that if you want to handle a double-click, you should be looking for the second mouse up. I am certain that the mouse location is always within the bounds of the view. What could cause this? (Testing on macOS 13.6.4.)
Added: I use a subclass of NSApplication
, and override nextEventMatchingMask:untilDate:inMode:dequeue:
and sendEvent:
. The overrides usually just call through to the superclass method. Logging mouse events from these methods, I see that in the problematic cases, the mouse up events are received from the queue, but never sent.