+2013-05-04 Eli Zaretskii <eliz@gnu.org>
+
+ * dispextern.h (WINDOW_WANTS_HEADER_LINE_P): Verify that
+ w->contents is a buffer before computing everything else. Use
+ parentheses to disambiguate last part of the condition.
+
+ * w32fns.c (w32_wnd_proc): Remove temporary code used to trap
+ assertion violations. (Bug#14062)
+
2013-05-01 David Reitter <david.reitter@gmail.com>
* nsfns.m (ns_tooltip): Initialize.
/* Value is true if window W wants a header line. */
#define WINDOW_WANTS_HEADER_LINE_P(W) \
- (!MINI_WINDOW_P ((W)) \
- && !(W)->pseudo_window_p \
- && FRAME_WANTS_MODELINE_P (XFRAME (WINDOW_FRAME ((W)))) \
- && BUFFERP ((W)->contents) \
- && !NILP (BVAR (XBUFFER ((W)->contents), header_line_format)) \
- && WINDOW_TOTAL_LINES (W) > 1 \
- + !NILP (BVAR (XBUFFER ((W)->contents), mode_line_format)))
+ (BUFFERP ((W)->contents) \
+ ? (!MINI_WINDOW_P ((W)) \
+ && !(W)->pseudo_window_p \
+ && FRAME_WANTS_MODELINE_P (XFRAME (WINDOW_FRAME ((W)))) \
+ && !NILP (BVAR (XBUFFER ((W)->contents), header_line_format)) \
+ && WINDOW_TOTAL_LINES (W) > \
+ (1 + !NILP (BVAR (XBUFFER ((W)->contents), mode_line_format)))) \
+ : 0)
/* Return proper value to be used as baseline offset of font that has
ASCENT and DESCENT to draw characters by the font at the vertical
form.ptCurrentPos.y = w32_system_caret_y;
form.rcArea.left = WINDOW_TEXT_TO_FRAME_PIXEL_X (w, 0);
-
-#ifdef ENABLE_CHECKING
- /* Temporary code to catch crashes in computing form.rcArea.top. */
- eassert (FRAMEP (w->frame));
- eassert (BUFFERP (w->contents));
- {
- int wmbp = WINDOW_MENU_BAR_P (w);
- int wtbp = WINDOW_TOOL_BAR_P (w);
- struct frame *wf = WINDOW_XFRAME (w);
- int fibw = FRAME_INTERNAL_BORDER_WIDTH (wf);
- int wtel = WINDOW_TOP_EDGE_LINE (w);
- int wflh = FRAME_LINE_HEIGHT (wf);
- int wwhlp= WINDOW_WANTS_HEADER_LINE_P (w);
- int chlh = CURRENT_HEADER_LINE_HEIGHT (w);
- int whlh = (wwhlp ? chlh : 0);
-
- form.rcArea.top = ((wmbp || wtbp) ? 0 : fibw) + wtel * wflh + whlh;
- }
-#else
form.rcArea.top = (WINDOW_TOP_EDGE_Y (w)
+ WINDOW_HEADER_LINE_HEIGHT (w));
-#endif
form.rcArea.right = (WINDOW_BOX_RIGHT_EDGE_X (w)
- WINDOW_RIGHT_MARGIN_WIDTH (w)
- WINDOW_RIGHT_FRINGE_WIDTH (w));