[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] trunk r116155: Fix handling of face attributes in Fx_creat
From: |
Martin Rudalics |
Subject: |
[Emacs-diffs] trunk r116155: Fix handling of face attributes in Fx_create_frame (Bug#16529). |
Date: |
Sat, 25 Jan 2014 14:40:00 +0000 |
User-agent: |
Bazaar (2.6b2) |
------------------------------------------------------------
revno: 116155
revision-id: address@hidden
parent: address@hidden
committer: martin rudalics <address@hidden>
branch nick: trunk
timestamp: Sat 2014-01-25 15:39:49 +0100
message:
Fix handling of face attributes in Fx_create_frame (Bug#16529).
* w32fns.c (Fx_create_frame): Don't inhibit running Lisp code
too early. Again run change_frame_size before assigning menu-
and tool-bar-lines.
modified:
src/ChangeLog changelog-20091113204419-o5vbwnq5f7feedwu-1438
src/w32fns.c w32fns.c-20091113204419-o5vbwnq5f7feedwu-945
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog 2014-01-25 13:04:48 +0000
+++ b/src/ChangeLog 2014-01-25 14:39:49 +0000
@@ -1,3 +1,10 @@
+2014-01-25 Martin Rudalics <address@hidden>
+
+ Fix handling of face attributes in Fx_create_frame (Bug#16529).
+ * w32fns.c (Fx_create_frame): Don't inhibit running Lisp code
+ too early. Again run change_frame_size before assigning menu-
+ and tool-bar-lines.
+
2014-01-25 Fabrice Popineau <address@hidden>
* w32term.c (w32_read_socket): When the WM_DISPLAYCHANGE message
=== modified file 'src/w32fns.c'
--- a/src/w32fns.c 2014-01-21 16:08:31 +0000
+++ b/src/w32fns.c 2014-01-25 14:39:49 +0000
@@ -4418,12 +4418,6 @@
/* With FRAME_DISPLAY_INFO set up, this unwind-protect is safe. */
record_unwind_protect (do_unwind_create_frame, frame);
- /* Avoid calling window-configuration-change-hook; otherwise we could
- get into all kinds of nasty things like an infloop in next_frame or
- violating a (height >= 0) assertion in window_box_height. */
- record_unwind_protect (unwind_create_frame_1, inhibit_lisp_code);
- inhibit_lisp_code = Qt;
-
#ifdef GLYPH_DEBUG
image_cache_refcount =
FRAME_IMAGE_CACHE (f) ? FRAME_IMAGE_CACHE (f)->refcount : 0;
@@ -4518,17 +4512,40 @@
happen. */
init_frame_faces (f);
- /* The X resources controlling the menu-bar and tool-bar are
- processed specially at startup, and reflected in the mode
- variables; ignore them here. */
- x_default_parameter (f, parameters, Qmenu_bar_lines,
- NILP (Vmenu_bar_mode)
- ? make_number (0) : make_number (1),
- NULL, NULL, RES_TYPE_NUMBER);
- x_default_parameter (f, parameters, Qtool_bar_lines,
- NILP (Vtool_bar_mode)
- ? make_number (0) : make_number (1),
- NULL, NULL, RES_TYPE_NUMBER);
+ /* Avoid calling window-configuration-change-hook; otherwise we
+ could get an infloop in next_frame since the frame is not yet in
+ Vframe_list. */
+ {
+ ptrdiff_t count2 = SPECPDL_INDEX ();
+
+ record_unwind_protect (unwind_create_frame_1, inhibit_lisp_code);
+ inhibit_lisp_code = Qt;
+
+ /* PXW: This is a duplicate from below. We have to do it here since
+ otherwise x_set_tool_bar_lines will work with the character sizes
+ installed by init_frame_faces while the frame's pixel size is still
+ calculated from a character size of 1 and we subsequently hit the
+ eassert (height >= 0) assertion in window_box_height. The
+ non-pixelwise code apparently worked around this because it had one
+ frame line vs one toolbar line which left us with a zero root
+ window height which was obviously wrong as well ... */
+ change_frame_size (f, FRAME_COLS (f) * FRAME_COLUMN_WIDTH (f),
+ FRAME_LINES (f) * FRAME_LINE_HEIGHT (f), 1, 0, 0, 1);
+
+ /* The X resources controlling the menu-bar and tool-bar are
+ processed specially at startup, and reflected in the mode
+ variables; ignore them here. */
+ x_default_parameter (f, parameters, Qmenu_bar_lines,
+ NILP (Vmenu_bar_mode)
+ ? make_number (0) : make_number (1),
+ NULL, NULL, RES_TYPE_NUMBER);
+ x_default_parameter (f, parameters, Qtool_bar_lines,
+ NILP (Vtool_bar_mode)
+ ? make_number (0) : make_number (1),
+ NULL, NULL, RES_TYPE_NUMBER);
+
+ unbind_to (count2, Qnil);
+ }
x_default_parameter (f, parameters, Qbuffer_predicate, Qnil,
"bufferPredicate", "BufferPredicate", RES_TYPE_SYMBOL);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] trunk r116155: Fix handling of face attributes in Fx_create_frame (Bug#16529).,
Martin Rudalics <=