From 45d325c4d16ce9dbe00bba3d265c0d7b2d1fa58b Mon Sep 17 00:00:00 2001 From: Adrian Robert Date: Sat, 19 Jul 2008 17:01:36 +0000 Subject: [PATCH] apply fix from Chong Yidong to NS port ns_set_background_color(), and clean up comparison use of result from NS_FACE_BACKGROUND --- src/ChangeLog | 8 ++++++++ src/nsfns.m | 2 +- src/nsfont.m | 4 ++-- src/nsterm.m | 2 +- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 723066bbb72..95ccdc5f303 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,11 @@ +2008-07-19 Adrian Robert + + * nsfns.m (ns_set_background_color): Apply patch from Chong Yidong to + fix crash. + * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from + NS_FACE_BACKGROUND with 0 instead of nil. + * nsfont.m (nsfont_draw): Same. + 2008-07-18 Chong Yidong * Makefile.in (SOME_MACHINE_LISP): Remove ns-carbon-compat.elc. diff --git a/src/nsfns.m b/src/nsfns.m index 1752512d2dc..72ac1ece4b3 100644 --- a/src/nsfns.m +++ b/src/nsfns.m @@ -400,7 +400,7 @@ ns_set_background_color (struct frame *f, Lisp_Object arg, Lisp_Object oldval) face = FRAME_DEFAULT_FACE (f); if (face) { - col = NS_FACE_BACKGROUND (face); + col = ns_lookup_indexed_color (NS_FACE_BACKGROUND (face), f); face->background = (EMACS_UINT) [[col colorWithAlphaComponent: alpha] retain]; [col release]; diff --git a/src/nsfont.m b/src/nsfont.m index bbf991e7d49..d6aa9ac65e5 100644 --- a/src/nsfont.m +++ b/src/nsfont.m @@ -968,7 +968,7 @@ nsfont_draw (struct glyph_string *s, int from, int to, int x, int y, } if (!s->face->stipple) - [(NS_FACE_BACKGROUND (face) != nil + [(NS_FACE_BACKGROUND (face) != 0 ? ns_lookup_indexed_color (NS_FACE_BACKGROUND (face), s->f) : FRAME_BACKGROUND_COLOR (s->f)) set]; else @@ -988,7 +988,7 @@ nsfont_draw (struct glyph_string *s, int from, int to, int x, int y, : FRAME_FOREGROUND_COLOR (s->f)); /*PENDING: find another way to pass this */ bgCol = (ns_tmp_flags != NS_DUMPGLYPH_FOREGROUND ? nil - : (NS_FACE_BACKGROUND (face) != nil + : (NS_FACE_BACKGROUND (face) != 0 ? ns_lookup_indexed_color (NS_FACE_BACKGROUND (face), s->f) : FRAME_BACKGROUND_COLOR (s->f))); diff --git a/src/nsterm.m b/src/nsterm.m index 60763645144..f0d8b5af734 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -2692,7 +2692,7 @@ ns_maybe_dumpglyphs_background (struct glyph_string *s, char force_p) else face = FACE_FROM_ID (s->f, s->first_glyph->face_id); if (!face->stipple) - [(NS_FACE_BACKGROUND (face) != nil + [(NS_FACE_BACKGROUND (face) != 0 ? ns_lookup_indexed_color (NS_FACE_BACKGROUND (face), s->f) : FRAME_BACKGROUND_COLOR (s->f)) set]; else -- 2.39.2