From 801a431304543436accd7088de953dbb5fc15838 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Wed, 30 Nov 2011 07:25:09 -0500 Subject: Fix bug #10164 with assertion violations in linum-mode. src/dispnew.c (adjust_glyph_matrix) [XASSERTS]: Ensure ROW's attributes are tested _before_ calling verify_row_hash, to protect against GCC re-ordering of the tests. --- src/ChangeLog | 6 ++++++ src/dispnew.c | 7 ++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 3b1fd5e6a51..086d795341c 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2011-11-30 Eli Zaretskii + + * dispnew.c (adjust_glyph_matrix) [XASSERTS]: Ensure ROW's + attributes are tested _before_ calling verify_row_hash, to protect + against GCC re-ordering of the tests. (Bug#10164) + 2011-11-29 Jan Djärv * xterm.h (struct x_output): net_wm_state_hidden_seen is new. diff --git a/src/dispnew.c b/src/dispnew.c index c9e4ec5c20e..7e591aa8e8f 100644 --- a/src/dispnew.c +++ b/src/dispnew.c @@ -608,9 +608,10 @@ adjust_glyph_matrix (struct window *w, struct glyph_matrix *matrix, int x, int y row->glyphs[LAST_AREA] = row->glyphs[LEFT_MARGIN_AREA] + dim.width; } - xassert (!row->enabled_p - || row->mode_line_p - || verify_row_hash (row)); +#if XASSERTS + if (row->enabled_p && !row->mode_line_p) + verify_row_hash (row)); +#endif ++row; } } -- cgit v1.2.3