Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit ff368f9

Browse files
committed
Protect use of newer macOS APIs
Don't unconditionally use the newer properties, but check the available version. This allows us to continue to target 10.9 by default and eliminate any hard-coded deployment version.
1 parent 13fe458 commit ff368f9

2 files changed

Lines changed: 5 additions & 4 deletions

File tree

setupext.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -657,8 +657,7 @@ def get_extensions(self):
657657
'src/_macosx.m'
658658
]
659659
ext = Extension('matplotlib.backends._macosx', sources)
660-
ext.extra_compile_args.extend(['-mmacosx-version-min=10.9',
661-
'-Wunguarded-availability', '-Werror'])
660+
ext.extra_compile_args.extend(['-Wunguarded-availability', '-Werror'])
662661
ext.extra_link_args.extend(['-framework', 'Cocoa'])
663662
if platform.python_implementation().lower() == 'pypy':
664663
ext.extra_compile_args.append('-DPYPY=1')

src/_macosx.m

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1184,8 +1184,10 @@ -(void)save_figure:(id)sender
11841184
rect.size.height = 0;
11851185
rect.origin.x += height;
11861186
NSTextView* messagebox = [[NSTextView alloc] initWithFrame: rect];
1187-
messagebox.textContainer.maximumNumberOfLines = 2;
1188-
messagebox.textContainer.lineBreakMode = NSLineBreakByTruncatingTail;
1187+
if (@available(macOS 10.11, *)) {
1188+
messagebox.textContainer.maximumNumberOfLines = 2;
1189+
messagebox.textContainer.lineBreakMode = NSLineBreakByTruncatingTail;
1190+
}
11891191
[messagebox setFont: font];
11901192
[messagebox setDrawsBackground: NO];
11911193
[messagebox setSelectable: NO];

0 commit comments

Comments
 (0)