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/xfns.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/xfns.c')
| -rw-r--r-- | src/xfns.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/xfns.c b/src/xfns.c index 10eb3336fad..3ca8f20dd72 100644 --- a/src/xfns.c +++ b/src/xfns.c | |||
| @@ -3248,7 +3248,7 @@ This function is an internal primitive--use `make-frame' instead. */) | |||
| 3248 | "alpha", "Alpha", RES_TYPE_NUMBER); | 3248 | "alpha", "Alpha", RES_TYPE_NUMBER); |
| 3249 | 3249 | ||
| 3250 | /* Consider frame official, now. */ | 3250 | /* Consider frame official, now. */ |
| 3251 | f->official = true; | 3251 | f->can_x_set_window_size = true; |
| 3252 | 3252 | ||
| 3253 | adjust_frame_size (f, FRAME_TEXT_WIDTH (f), FRAME_TEXT_HEIGHT (f), 0, 1, Qnil); | 3253 | adjust_frame_size (f, FRAME_TEXT_WIDTH (f), FRAME_TEXT_HEIGHT (f), 0, 1, Qnil); |
| 3254 | 3254 | ||
| @@ -5233,7 +5233,7 @@ x_create_tip_frame (struct x_display_info *dpyinfo, | |||
| 5233 | below. And the frame needs to be on Vframe_list or making it | 5233 | below. And the frame needs to be on Vframe_list or making it |
| 5234 | visible won't work. */ | 5234 | visible won't work. */ |
| 5235 | Vframe_list = Fcons (frame, Vframe_list); | 5235 | Vframe_list = Fcons (frame, Vframe_list); |
| 5236 | f->official = true; | 5236 | f->can_x_set_window_size = true; |
| 5237 | 5237 | ||
| 5238 | /* Setting attributes of faces of the tooltip frame from resources | 5238 | /* Setting attributes of faces of the tooltip frame from resources |
| 5239 | and similar will increment face_change_count, which leads to the | 5239 | and similar will increment face_change_count, which leads to the |