]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix cross macOS version building (bug#28222)
authorAlan Third <alan@idiocy.org>
Sat, 26 Aug 2017 08:44:42 +0000 (09:44 +0100)
committerAlan Third <alan@idiocy.org>
Tue, 29 Aug 2017 16:19:05 +0000 (17:19 +0100)
* src/macfont.h (CGContextSetFontSmoothingStyle): Function
declaration.
* src/macfont.m (macfont_draw): Limit new code to macOS 10.8 and up.

src/macfont.h
src/macfont.m

index 32899908be9011b308c0cf6f096d192b0952c7c0..3a66d2d005abc5c6980c26a8257d64a19afe0448 100644 (file)
@@ -82,3 +82,10 @@ typedef const struct _EmacsScreenFont *ScreenFontRef; /* opaque */
 extern void mac_register_font_driver (struct frame *f);
 extern void *macfont_get_nsctfont (struct font *font);
 extern void macfont_update_antialias_threshold (void);
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1080
+/* This is an undocumented function that is probably not available
+   pre-10.8. */
+extern void CGContextSetFontSmoothingStyle(CGContextRef, int)
+  __attribute__((weak_import));
+#endif
index 59891353cd38829fffa22fb0b91af83e07359756..33c28f7349a05c7937dfd1ef651a50402128b69b 100644 (file)
@@ -2888,11 +2888,14 @@ macfont_draw (struct glyph_string *s, int from, int to, int x, int y,
       if (no_antialias_p)
         CGContextSetShouldAntialias (context, false);
 
-      if (!NILP (ns_use_thin_smoothing))
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1080
+      if (!NILP (ns_use_thin_smoothing)
+          && CGContextSetFontSmoothingStyle != NULL)
         {
           CGContextSetShouldSmoothFonts(context, YES);
           CGContextSetFontSmoothingStyle(context, 16);
         }
+#endif
 
       CGContextSetTextMatrix (context, atfm);
       CGContextSetTextPosition (context, text_position.x, text_position.y);