(Fcolor_distance): Don't continue checking a color for errors after it has been
correctly parsed as an RGB list.
This commit is contained in:
parent
22bbca614f
commit
6c8e1d625c
1 changed files with 4 additions and 6 deletions
10
src/xfaces.c
10
src/xfaces.c
|
@ -5348,13 +5348,11 @@ If FRAME is unspecified or nil, the current frame is used. */)
|
|||
CHECK_LIVE_FRAME (frame);
|
||||
f = XFRAME (frame);
|
||||
|
||||
if ((CONSP (color1) && !parse_rgb_list (color1, &cdef1))
|
||||
|| !STRINGP (color1)
|
||||
|| !defined_color (f, SDATA (color1), &cdef1, 0))
|
||||
if (!(CONSP (color1) && parse_rgb_list (color1, &cdef1))
|
||||
&& !(STRINGP (color1) && defined_color (f, SDATA (color1), &cdef1, 0)))
|
||||
signal_error ("Invalid color", color1);
|
||||
if ((CONSP (color2) && !parse_rgb_list (color2, &cdef2))
|
||||
|| !STRINGP (color2)
|
||||
|| !defined_color (f, SDATA (color2), &cdef2, 0))
|
||||
if (!(CONSP (color2) && parse_rgb_list (color2, &cdef2))
|
||||
&& !(STRINGP (color2) && defined_color (f, SDATA (color2), &cdef2, 0)))
|
||||
signal_error ("Invalid color", color2);
|
||||
|
||||
return make_number (color_distance (&cdef1, &cdef2));
|
||||
|
|
Loading…
Add table
Reference in a new issue