diff options
author | Robert Pluim <rpluim@gmail.com> | 2019-12-11 11:21:22 +0100 |
---|---|---|
committer | Robert Pluim <rpluim@gmail.com> | 2019-12-11 16:28:24 +0100 |
commit | ea84a95bd8d43612b4a424fb93de25a68ac31d05 (patch) | |
tree | 6178230001c8ac87cc7d2f05e792a4521fa658a6 | |
parent | 8aaa92a4b648aef137eb9a7054fdffaed04328ff (diff) | |
download | emacs-ea84a95bd8d43612b4a424fb93de25a68ac31d05.tar.gz |
Check for GUI frame in ns_color_index_to_rgba
* nsterm.m (ns_color_index_to_rgba): Check that we're using a GUI
frame before converting color (Bug#38564).
-rw-r--r-- | src/nsterm.m | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/src/nsterm.m b/src/nsterm.m index c4151598906..6995577920e 100644 --- a/src/nsterm.m +++ b/src/nsterm.m @@ -2290,19 +2290,24 @@ ns_lisp_to_color (Lisp_Object color, NSColor **col) /* Convert an index into the color table into an RGBA value. Used in xdisp.c:extend_face_to_end_of_line when comparing faces and frame - color values. */ + color values. No-op on non-gui frames. */ unsigned long ns_color_index_to_rgba(int idx, struct frame *f) { - NSColor *col; - col = ns_lookup_indexed_color (idx, f); + if (FRAME_DISPLAY_INFO (f)) + { + NSColor *col; + col = ns_lookup_indexed_color (idx, f); - EmacsCGFloat r, g, b, a; - [col getRed: &r green: &g blue: &b alpha: &a]; + EmacsCGFloat r, g, b, a; + [col getRed: &r green: &g blue: &b alpha: &a]; - return ARGB_TO_ULONG((int)(a*255), - (int)(r*255), (int)(g*255), (int)(b*255)); + return ARGB_TO_ULONG((int)(a*255), + (int)(r*255), (int)(g*255), (int)(b*255)); + } + else + return idx; } void |