aboutsummaryrefslogtreecommitdiffstats
path: root/src/xfns.c
diff options
context:
space:
mode:
authorMartin Rudalics2014-11-08 12:11:50 +0100
committerMartin Rudalics2014-11-08 12:11:50 +0100
commitc936cbbc830b194dbb1cd7ff039ea9978a7ab607 (patch)
tree34398222a4e29fda5c2e26844b54ad7eea3d6351 /src/xfns.c
parenta05fd1fc7813611575cad6890a45b5fd7eba8e67 (diff)
downloademacs-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.c4
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