diff --git a/XVim/IDEWorkspaceTabController+XVim.m b/XVim/IDEWorkspaceTabController+XVim.m index 3147b0f0..026feecc 100644 --- a/XVim/IDEWorkspaceTabController+XVim.m +++ b/XVim/IDEWorkspaceTabController+XVim.m @@ -62,9 +62,18 @@ static inline BOOL xvim_horizontallyStackingModeForMode(GeniusLayoutMode mode) { @implementation IDEWorkspaceTabController (XVim) +- (id)xvim_keyboardFocusAreas { + if ([self respondsToSelector:@selector(_keyboardFocusAreas)]) { + return [self performSelector:@selector(_keyboardFocusAreas)]; + } else if ([self respondsToSelector:@selector(_keyboardFocusAreas:)]) { + return [self performSelector:@selector(_keyboardFocusAreas:) withObject:@YES]; + } + return nil; +} + - (NSArray*)xvim_allEditorArea{ NSMutableArray* otherViews = [[NSMutableArray alloc] init]; - for( IDEViewController* c in [self _keyboardFocusAreas] ){ + for( IDEViewController* c in [self xvim_keyboardFocusAreas] ){ if( [[[c class] description] isEqualToString:@"IDEEditorContext"] ){ [otherViews addObject:c]; }