Fix 'clone-frame' on TTY frames
* src/frame.c (Fmake_terminal_frame): Make a separate copy of the faces for the new frame before calling modify-frame-parameters, as on TTY frames that needs the faces already set up. (Bug#34715)
This commit is contained in:
parent
bfb2dd0e9d
commit
110db95e13
1 changed files with 6 additions and 5 deletions
11
src/frame.c
11
src/frame.c
|
@ -1406,11 +1406,6 @@ affects all frames on the same terminal device. */)
|
|||
(t->display_info.tty->name
|
||||
? build_string (t->display_info.tty->name)
|
||||
: Qnil));
|
||||
/* On terminal frames the `minibuffer' frame parameter is always
|
||||
virtually t. Avoid that a different value in parms causes
|
||||
complaints, see Bug#24758. */
|
||||
store_in_alist (&parms, Qminibuffer, Qt);
|
||||
Fmodify_frame_parameters (frame, parms);
|
||||
|
||||
/* Make the frame face hash be frame-specific, so that each
|
||||
frame could change its face definitions independently. */
|
||||
|
@ -1423,6 +1418,12 @@ affects all frames on the same terminal device. */)
|
|||
for (idx = 0; idx < table->count; ++idx)
|
||||
set_hash_value_slot (table, idx, Fcopy_sequence (HASH_VALUE (table, idx)));
|
||||
|
||||
/* On terminal frames the `minibuffer' frame parameter is always
|
||||
virtually t. Avoid that a different value in parms causes
|
||||
complaints, see Bug#24758. */
|
||||
store_in_alist (&parms, Qminibuffer, Qt);
|
||||
Fmodify_frame_parameters (frame, parms);
|
||||
|
||||
f->can_set_window_size = true;
|
||||
f->after_make_frame = true;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue