From: Adam R. M. <ama...@ma...> - 2006-04-23 22:18:06
|
On Apr 23, 2006, at 11:26, Christiaan Hofman wrote: > > On 23 Apr 2006, at 6:45 PM, Adam R. Maxwell wrote: > >> >> On Apr 23, 2006, at 04:31, Christiaan Hofman wrote: >> >>> I get some weird exceptions when I change a local-url field by >>> hand, when dismissing the dialog asking whether to move the >>> linked file. >>> >>> 2006-04-23 14:26:21.635 BibDesk[25959] *** Assertion failure in - >>> [NSEvent charactersIgnoringModifiers], AppKit.subproj/NSEvent.m:911 >>> 2006-04-23 14:26:21.635 BibDesk[25959] Exception raised during >>> posting of notification. Ignored. exception: Invalid message >>> sent to event "NSEvent: type=LMouseUp loc=(264,31) time=180552.8 >>> flags=0x100 win=0 winNum=66511 ctxt=0x34023 evNum=23848 click=1 >>> buttonNumber=0 pressure=0" >>> >>> No idea what's going on, it doesn't seem to be any of our calls >>> to charactersIgnoringModifiers. >> >> What happens if you break on -[NSException raise]? It would be >> interesting to find out who is sending charactersIgnoringModifiers >> to a mouse event. We should add length checks to all of our >> keyDown: overrides that use [[event characters] >> characterAtIndex:], but that doesn't sound like this problem. >> >> Adam > > It is passed to performKeyEquivalent, in particular to our tabView. > Though it is not because of our override, because if it weren't > there it would try it anyway with a similar result (only in apples > implementation of performKeyEquivalent of one view or another). Why > would it ever send a mouse event to performKeyEquivalent? It might > be related to the fact that we call the dialog in > controlTextDidEndEditing, so it waits for a keyUp after the keyDown > that submitted the edit. But rather it gets the mouseUp from the > sheet before it gets there and passes that event. It seems that > performKeyEquivalent handles keyUp only if keyDown did not give a > keyEquivalent. I'm not seeing this here. Did you fix it? I can dismiss that sheet with either mouse or keyboard, default or alternate button. Adam |