aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEli Zaretskii2020-10-10 11:11:34 +0300
committerEli Zaretskii2020-10-10 11:11:34 +0300
commitc00606171f88be0df2c19346fa53f401ea71c71f (patch)
treeda8b7a07ef63d9030f226fbfc210bb9161f2f2e3 /src
parent3196fd44c36a5ce6789382f74442c461d9264471 (diff)
downloademacs-c00606171f88be0df2c19346fa53f401ea71c71f.tar.gz
emacs-c00606171f88be0df2c19346fa53f401ea71c71f.zip
A better fix for bug#43886
* src/xfaces.c (load_color2, Fcolor_distance): Revert last change. * src/term.c (clear_tty_hooks): Don't clear defined_color_hook.
Diffstat (limited to 'src')
-rw-r--r--src/term.c4
-rw-r--r--src/xfaces.c10
2 files changed, 3 insertions, 11 deletions
diff --git a/src/term.c b/src/term.c
index 94bf013f4a0..370f6fcd453 100644
--- a/src/term.c
+++ b/src/term.c
@@ -3842,7 +3842,9 @@ clear_tty_hooks (struct terminal *terminal)
3842 terminal->update_begin_hook = 0; 3842 terminal->update_begin_hook = 0;
3843 terminal->update_end_hook = 0; 3843 terminal->update_end_hook = 0;
3844 terminal->set_terminal_window_hook = 0; 3844 terminal->set_terminal_window_hook = 0;
3845 terminal->defined_color_hook = 0; 3845 /* Don't clear the defined_color_hook, as that makes it impossible
3846 to unload or load a theme when some TTY frame is suspended. */
3847 /* terminal->defined_color_hook = 0; */
3846 terminal->mouse_position_hook = 0; 3848 terminal->mouse_position_hook = 0;
3847 terminal->frame_rehighlight_hook = 0; 3849 terminal->frame_rehighlight_hook = 0;
3848 terminal->frame_raise_lower_hook = 0; 3850 terminal->frame_raise_lower_hook = 0;
diff --git a/src/xfaces.c b/src/xfaces.c
index fab29efe6f7..66d6c340302 100644
--- a/src/xfaces.c
+++ b/src/xfaces.c
@@ -1059,13 +1059,6 @@ static unsigned long
1059load_color2 (struct frame *f, struct face *face, Lisp_Object name, 1059load_color2 (struct frame *f, struct face *face, Lisp_Object name,
1060 enum lface_attribute_index target_index, Emacs_Color *color) 1060 enum lface_attribute_index target_index, Emacs_Color *color)
1061{ 1061{
1062 if (FRAME_TERMINAL (f)->defined_color_hook == NULL)
1063 {
1064 Lisp_Object frame;
1065 XSETFRAME (frame, f);
1066 signal_error ("Unable to load colors for suspended TTY frame", frame);
1067 }
1068
1069 eassert (STRINGP (name)); 1062 eassert (STRINGP (name));
1070 eassert (target_index == LFACE_FOREGROUND_INDEX 1063 eassert (target_index == LFACE_FOREGROUND_INDEX
1071 || target_index == LFACE_BACKGROUND_INDEX 1064 || target_index == LFACE_BACKGROUND_INDEX
@@ -4398,9 +4391,6 @@ two lists of the form (RED GREEN BLUE) aforementioned. */)
4398 struct frame *f = decode_live_frame (frame); 4391 struct frame *f = decode_live_frame (frame);
4399 Emacs_Color cdef1, cdef2; 4392 Emacs_Color cdef1, cdef2;
4400 4393
4401 if (FRAME_TERMINAL (f)->defined_color_hook == NULL)
4402 signal_error ("Unable to validate colors for suspended TTY frame", frame);
4403
4404 if (!(CONSP (color1) && parse_rgb_list (color1, &cdef1)) 4394 if (!(CONSP (color1) && parse_rgb_list (color1, &cdef1))
4405 && !(STRINGP (color1) 4395 && !(STRINGP (color1)
4406 && FRAME_TERMINAL (f)->defined_color_hook (f, 4396 && FRAME_TERMINAL (f)->defined_color_hook (f,