diff options
author | Eli Zaretskii <eliz@gnu.org> | 2011-11-30 07:25:09 -0500 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2011-11-30 07:25:09 -0500 |
commit | 801a431304543436accd7088de953dbb5fc15838 (patch) | |
tree | 4507a4529d46f1f6ceb08cd3d43eb6af74e970cf | |
parent | e7308292aaa7f16a5670a151b6112239691ea61f (diff) | |
download | emacs-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/ChangeLog | 6 | ||||
-rw-r--r-- | 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 <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; } } |