]> code.delx.au - gnu-emacs/blobdiff - src/dispnew.c
Version 3.15
[gnu-emacs] / src / dispnew.c
index a5057273bfe3f5cedce2b9203aa372c8acf8b133..15190abfb7e164f1cb0541d7c06892881a6cbe1a 100644 (file)
@@ -1185,6 +1185,9 @@ increment_row_positions (row, delta, delta_bytes)
   MATRIX_ROW_END_CHARPOS (row) += delta;
   MATRIX_ROW_END_BYTEPOS (row) += delta_bytes;
 
+  if (!row->enabled_p)
+    return;
+
   /* Increment positions in glyphs.  */
   for (area = 0; area < LAST_AREA; ++area)
     for (i = 0; i < row->used[area]; ++i)
@@ -5798,8 +5801,9 @@ buffer_posn_from_coords (w, x, y, pos, object, dx, dy, width, height)
     }
 #endif
 
-  row = MATRIX_ROW (w->current_matrix, it.vpos);
-  if (row->enabled_p)
+  if (it.vpos < w->current_matrix->nrows
+      && (row = MATRIX_ROW (w->current_matrix, it.vpos),
+         row->enabled_p))
     {
       if (it.hpos < row->used[TEXT_AREA])
        {