Revision: 15646 http://sourceforge.net/p/skim-app/code/15646 Author: hofman Date: 2025-07-11 22:30:54 +0000 (Fri, 11 Jul 2025) Log Message: ----------- get next first responder from responder chain
Modified Paths: -------------- trunk/SKPDFView.m trunk/SKTextNoteEditor.h trunk/SKTextNoteEditor.m Modified: trunk/SKPDFView.m =================================================================== --- trunk/SKPDFView.m 2025-07-11 22:03:17 UTC (rev 15645) +++ trunk/SKPDFView.m 2025-07-11 22:30:54 UTC (rev 15646) @@ -2793,12 +2793,9 @@ [[self delegate] PDFViewDidBeginEditing:self]; } -- (void)textNoteEditorDidEndEditing:(SKTextNoteEditor *)textNoteEditor wasFirstResponder:(BOOL)wasFirstResponder { +- (void)textNoteEditorDidEndEditing:(SKTextNoteEditor *)textNoteEditor { editor = nil; - if (wasFirstResponder) - [[self window] makeFirstResponder:self]; - [self updatedAnnotation:currentAnnotation]; if ([[self delegate] respondsToSelector:@selector(PDFViewDidEndEditing:)]) Modified: trunk/SKTextNoteEditor.h =================================================================== --- trunk/SKTextNoteEditor.h 2025-07-11 22:03:17 UTC (rev 15645) +++ trunk/SKTextNoteEditor.h 2025-07-11 22:30:54 UTC (rev 15646) @@ -62,7 +62,7 @@ @protocol SKTextNoteEditorDelegate <NSObject>; - (void)textNoteEditorSetFrame:(SKTextNoteEditor *)textNoteEditor; - (void)textNoteEditorDidBeginEditing:(SKTextNoteEditor *)textNoteEditor; -- (void)textNoteEditorDidEndEditing:(SKTextNoteEditor *)textNoteEditor wasFirstResponder:(BOOL)wasFirstResponder; +- (void)textNoteEditorDidEndEditing:(SKTextNoteEditor *)textNoteEditor; @end NS_ASSUME_NONNULL_END Modified: trunk/SKTextNoteEditor.m =================================================================== --- trunk/SKTextNoteEditor.m 2025-07-11 22:03:17 UTC (rev 15645) +++ trunk/SKTextNoteEditor.m 2025-07-11 22:30:54 UTC (rev 15646) @@ -156,19 +156,24 @@ // avoid getting textDidEndEditing: messages [textView setDelegate:nil]; - BOOL wasFirstResponder = NO; - - if ([self superview]) { - NSWindow *window = [self window]; - wasFirstResponder = (textView && [window firstResponder] == textView); + NSWindow *window = [self window]; + if (window) { + NSResponder *responder = nil; + if (textView && [window firstResponder] == textView) { + responder = [self superview]; + while (responder && [responder acceptsFirstResponder] == NO) + responder = [responder nextResponder]; + } [self removeFromSuperview]; [window recalculateKeyViewLoop]; + if (responder) + [window makeFirstResponder:responder]; } id<SKTextNoteEditorDelegate> theDelegate = delegate; delegate = nil; - [theDelegate textNoteEditorDidEndEditing:self wasFirstResponder:wasFirstResponder]; + [theDelegate textNoteEditorDidEndEditing:self]; } - (void)startEditingWithEvent:(NSEvent *)event { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. _______________________________________________ Skim-app-commit mailing list Skim-app-commit@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/skim-app-commit