I have a child NSComboBox NSPopover. A popper is transitional and set to fire when the user clicks beyond their borders.
When the combobox popup window is active and displayed, and when the user hovers the mouse over the poppers that have a view, the view gets the mouse down, as expected, the popover disappears, and the combo box is rejected, but the very next mouseUp never gets a view.
It turns out that the trackMouse NSComboBoxCell method (tracking loop) does not return until it receives mouseUp, but unlike the mouseDown case, where it displays it nicely, it never spreads mouseUp to the view that was clicked.
I had to get around the problem with the following trackMouse NSComboBoxCell override.
Has anyone seen this problem before or understood what could be happening?
--------
- (BOOL)trackMouse:(NSEvent *)theEvent inRect:(NSRect)cellFrame ofView:(NSView *)controlView untilMouseUp:(BOOL)untilMouseUp { BOOL trackingResult = [super trackMouse:theEvent inRect:cellFrame ofView:controlView untilMouseUp:untilMouseUp];
source share