diff options
| author | Martin Rudalics | 2014-11-08 12:11:50 +0100 |
|---|---|---|
| committer | Martin Rudalics | 2014-11-08 12:11:50 +0100 |
| commit | c936cbbc830b194dbb1cd7ff039ea9978a7ab607 (patch) | |
| tree | 34398222a4e29fda5c2e26844b54ad7eea3d6351 /src/w32fns.c | |
| parent | a05fd1fc7813611575cad6890a45b5fd7eba8e67 (diff) | |
| download | emacs-c936cbbc830b194dbb1cd7ff039ea9978a7ab607.tar.gz emacs-c936cbbc830b194dbb1cd7ff039ea9978a7ab607.zip | |
Run `window-configuration-change-hook' only after all faces have been realized.
* frame.c (adjust_frame_size): Call x_set_window_size only if
f->can_x_set_window_size is set.
(make_frame): Initialize f->can_x_set_window_size and
f->can_run_window_configuration_change_hook.
(Fcan_run_window_configuration_change_hook): New function.
* frame.h (frame): Split `official' into `can_x_set_window_size'
and `can_run_window_configuration_change_hook'.
* nsfns.m (Fx_create_frame): Set f->can_x_set_window_size.
* w32fns.c (Fx_create_frame, x_create_tip_frame): Set
f->can_x_set_window_size.
* window.c (run_window_configuration_change_hook): Return
immediately if either f->can_x_set_window_size or
f->can_run_window_configuration_change_hook are false.
(Fset_window_configuration): Instead of f->official set
f->can_x_set_window_size.
* xfns.c (Fx_create_frame, x_create_tip_frame): Set
f->can_x_set_window_size.
* faces.el (face-set-after-frame-default): Enable running
`window-configuration-change-hook'.
Diffstat (limited to 'src/w32fns.c')
| -rw-r--r-- | src/w32fns.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/w32fns.c b/src/w32fns.c index 95821df6c61..502154d4473 100644 --- a/src/w32fns.c +++ b/src/w32fns.c | |||
| @@ -4703,8 +4703,8 @@ This function is an internal primitive--use `make-frame' instead. */) | |||
| 4703 | x_default_parameter (f, parameters, Qscroll_bar_height, Qnil, | 4703 | x_default_parameter (f, parameters, Qscroll_bar_height, Qnil, |
| 4704 | "scrollBarHeight", "ScrollBarHeight", RES_TYPE_NUMBER); | 4704 | "scrollBarHeight", "ScrollBarHeight", RES_TYPE_NUMBER); |
| 4705 | 4705 | ||
| 4706 | /* Consider frame official, now. */ | 4706 | /* Allow x_set_window_size, now. */ |
| 4707 | f->official = true; | 4707 | f->can_x_set_window_size = true; |
| 4708 | 4708 | ||
| 4709 | adjust_frame_size (f, FRAME_TEXT_WIDTH (f), FRAME_TEXT_HEIGHT (f), 0, 1, Qnil); | 4709 | adjust_frame_size (f, FRAME_TEXT_WIDTH (f), FRAME_TEXT_HEIGHT (f), 0, 1, Qnil); |
| 4710 | 4710 | ||
| @@ -5851,7 +5851,7 @@ x_create_tip_frame (struct w32_display_info *dpyinfo, | |||
| 5851 | below. And the frame needs to be on Vframe_list or making it | 5851 | below. And the frame needs to be on Vframe_list or making it |
| 5852 | visible won't work. */ | 5852 | visible won't work. */ |
| 5853 | Vframe_list = Fcons (frame, Vframe_list); | 5853 | Vframe_list = Fcons (frame, Vframe_list); |
| 5854 | f->official = true; | 5854 | f->can_x_set_window_size = true; |
| 5855 | 5855 | ||
| 5856 | /* Setting attributes of faces of the tooltip frame from resources | 5856 | /* Setting attributes of faces of the tooltip frame from resources |
| 5857 | and similar will increment face_change_count, which leads to the | 5857 | and similar will increment face_change_count, which leads to the |