From e126fa9652c19cf89ef7262dc639abe99d88294e Mon Sep 17 00:00:00 2001 From: Yee Cheng Chin Date: Sat, 24 Nov 2018 04:11:08 -0800 Subject: [PATCH] Fix tab dragging crashing under 10.14 due to deprecated API Use the newer `cacheDisplayInRect:toBitmapImageRep:` API instead to work around this. --- src/MacVim/PSMTabBarControl/source/PSMTabBarCell.m | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/MacVim/PSMTabBarControl/source/PSMTabBarCell.m b/src/MacVim/PSMTabBarControl/source/PSMTabBarCell.m index 65b3b25052..6f1a06e462 100644 --- a/src/MacVim/PSMTabBarControl/source/PSMTabBarCell.m +++ b/src/MacVim/PSMTabBarControl/source/PSMTabBarCell.m @@ -338,7 +338,10 @@ if(([self state] == NSOnState) && ([[_controlView styleName] isEqualToString:@"Metal"])) cellFrame.size.width += 1.0; [_controlView lockFocus]; - NSBitmapImageRep *rep = [[[NSBitmapImageRep alloc] initWithFocusedViewRect:cellFrame] autorelease]; + + NSBitmapImageRep *rep = [[self controlView] bitmapImageRepForCachingDisplayInRect:cellFrame]; + [[self controlView] cacheDisplayInRect:cellFrame toBitmapImageRep:rep]; + [_controlView unlockFocus]; NSImage *image = [[[NSImage alloc] initWithSize:[rep size]] autorelease]; [image addRepresentation:rep];