diff --git a/src/MacVim/MMCoreTextView.m b/src/MacVim/MMCoreTextView.m index 159e4dc388..9b2a4ecaa9 100644 --- a/src/MacVim/MMCoreTextView.m +++ b/src/MacVim/MMCoreTextView.m @@ -137,8 +137,13 @@ - (id)initWithFrame:(NSRect)frame boolForKey:MMBufferedDrawingKey]; cgBufferDrawNeedsUpdateContext = NO; - cgLayerEnabled = [[NSUserDefaults standardUserDefaults] - boolForKey:MMUseCGLayerAlwaysKey]; + cgLayerEnabled = NO; + if (!cgBufferDrawEnabled) { + // Buffered draw supercedes the CGLayer renderer, which is deprecated + // and doesn't actually work in 10.14+. + cgLayerEnabled = [[NSUserDefaults standardUserDefaults] + boolForKey:MMUseCGLayerAlwaysKey]; + } cgLayerLock = [NSLock new]; // NOTE! It does not matter which font is set here, Vim will set its @@ -795,7 +800,7 @@ - (void)performBatchDrawWithData:(NSData *)data - (void)setCGLayerEnabled:(BOOL)enabled { - if (cgContext) + if (cgContext || cgBufferDrawEnabled) return; cgLayerEnabled = enabled; diff --git a/src/MacVim/MMWindowController.m b/src/MacVim/MMWindowController.m index 19e72bd96b..9e2bcf4e1d 100644 --- a/src/MacVim/MMWindowController.m +++ b/src/MacVim/MMWindowController.m @@ -348,6 +348,7 @@ - (BOOL)presentWindow:(id)unused // GUIEnter auto command could cause this). [fullScreenWindow enterFullScreen]; fullScreenEnabled = YES; + shouldResizeVimView = YES; } else if (delayEnterFullScreen) { // Set alpha to zero so that the decorated window doesn't pop up // before we enter full-screen.