2013-03-28 Eli Zaretskii <eliz@gnu.org>
+ * w32fns.c (w32_wnd_proc) [ENABLE_CHECKING]: Add code to help
+ identify the reasons for assertion violations in bug#14062 and
+ similar ones.
+
* image.c (g_error_free) [WINDOWSNT]: Add DEF_IMGLIB_FN.
Reported by <rzl24ozi@gmail.com>.
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. */
+ {
+ 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));