Fixed regression that resulted in firstResponders not getting correctly updated on view changes

This commit is contained in:
Michael Starke
2020-05-12 14:11:48 +02:00
parent 0617b0e601
commit 67eee29fdf

View File

@@ -146,6 +146,14 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword);
- (void)setContentViewController:(NSViewController *)contentViewController {
contentViewController.view.frame = self.window.contentView.frame;
[super setContentViewController:contentViewController];
if([contentViewController isKindOfClass:MPViewController.class]) {
/* enqueue async into main to catch some cases, where the UI would not set the responder correctly */
MPDocumentWindowController * __weak welf = self;
dispatch_async(dispatch_get_main_queue(), ^{
NSResponder *responder = ((MPViewController *)contentViewController).reconmendedFirstResponder;
[welf.window makeFirstResponder:responder];
});
}
}
#pragma mark MPDocument notifications