summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2011-11-30 07:25:09 -0500
committerEli Zaretskii <eliz@gnu.org>2011-11-30 07:25:09 -0500
commit801a431304543436accd7088de953dbb5fc15838 (patch)
tree4507a4529d46f1f6ceb08cd3d43eb6af74e970cf
parente7308292aaa7f16a5670a151b6112239691ea61f (diff)
downloademacs-801a431304543436accd7088de953dbb5fc15838.tar.gz
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.
-rw-r--r--src/ChangeLog6
-rw-r--r--src/dispnew.c7
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 <eliz@gnu.org>
+
+ * 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 <jan.h.d@swipnet.se>
* 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;
}
}