diff options
| author | Eli Zaretskii | 2015-09-26 09:50:58 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2015-09-26 09:50:58 +0300 |
| commit | e573d08ef15f0431ad8289b4242c49826f20efb6 (patch) | |
| tree | 323f37b911569c654747df2047f236ad5d316587 /src/coding.c | |
| parent | 3fbc53b09c21d5657c62a4a295b5b70a6ea5d661 (diff) | |
| download | emacs-e573d08ef15f0431ad8289b4242c49826f20efb6.tar.gz emacs-e573d08ef15f0431ad8289b4242c49826f20efb6.zip | |
Make face realization be more frame-specific
* src/frame.h (struct f): New flag face_change.
* src/xfaces.c (Finternal_make_lisp_face)
(Finternal_copy_lisp_face, Finternal_set_lisp_face_attribute)
(update_face_from_frame_parameter): Set the face_change flag only
for the frame whose faces are affected.
* src/xdisp.c (init_iterator): If a frame's face_change flag is
set, free faces only on that frame.
(redisplay_internal): Disable "display optimization 1" if the
frame's face_change flag is set.
(redisplay_window): Don't allow skipping a window's redisplay if
its frame's face_change flag is set.
* src/frame.c (x_set_screen_gamma): Instead of calling
Fclear_face_cache, call clear_face_cache and set
windows_or_buffers_changed to a non-zero value. This avoids
setting the global face_change flag that triggers face realization
on all frames and thorough redisplay of all of them.
* lisp/term/tty-colors.el (tty-register-default-colors): Don't
clear face cache if the selected frame is a GUI frame.
Diffstat (limited to 'src/coding.c')
0 files changed, 0 insertions, 0 deletions