[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 23.1; ns-antialias-text set to nil has no effect
From: |
David Reitter |
Subject: |
Re: 23.1; ns-antialias-text set to nil has no effect |
Date: |
Sun, 14 Feb 2010 10:38:38 -0500 |
On Feb 14, 2010, at 8:31 AM, Francis Devereux wrote:
> On 17 Oct 2009, at 13:16, Adrian Robert wrote:
>
>> http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=4736
>
> I've also discovered that if I build Emacs as a 32 bit binary on 10.6 (the
> default is 64 bit on 10.6) with the following command then ns-antialias-text
> works. The commands I used to build are:
> LDFLAGS="-arch i386" CFLAGS="-g -O2 -arch i386 -march=core2"
> ../trunk/configure --build=i386-apple-darwin10.2.0 --with-ns && make -j2 &&
> make install
ns_antialias_text is wrongly declared as an int instead of Lisp_Object, and the
nonstandard pointer comparison to Qnil helped cover it up, I suppose. That
also explains why it happened to work on 32bit. Try the patch below.
diff --git a/src/nsfont.m b/src/nsfont.m
index 934fefa..1b157ce 100644
--- a/src/nsfont.m
+++ b/src/nsfont.m
@@ -50,7 +50,7 @@ extern Lisp_Object Qnormal, Qbold, Qitalic, Qcondensed,
Qexpanded;
static Lisp_Object Vns_reg_to_script;
static Lisp_Object Qapple, Qroman, Qmedium;
extern Lisp_Object Qappend;
-extern int ns_antialias_text;
+extern Lisp_Object ns_antialias_text;
extern float ns_antialias_threshold;
extern int ns_tmp_flags;
extern struct nsfont_info *ns_tmp_font;
@@ -1243,7 +1245,7 @@ nsfont_draw (struct glyph_string *s, int from, int to,
int x, int y,
CGContextSetFont (gcontext, font->cgfont);
CGContextSetFontSize (gcontext, font->size);
- if (ns_antialias_text == Qnil || font->size <= ns_antialias_threshold)
+ if (NILP (ns_antialias_text) || font->size <= ns_antialias_threshold)
CGContextSetShouldAntialias (gcontext, 0);
else
CGContextSetShouldAntialias (gcontext, 1);
PGP.sig
Description: This is a digitally signed message part