diff src/xdisp.c @ 83038:30ccd595ccb0

Merged in changes from CVS HEAD Patches applied: * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-98 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-99 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-100 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-101 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-102 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-78
author Karoly Lorentey <lorentey@elte.hu>
date Wed, 18 Feb 2004 17:10:32 +0000
parents 03a73693678e c09f1e11d806
children 968e8c7ff1f4
line wrap: on
line diff
--- a/src/xdisp.c	Tue Feb 17 01:52:25 2004 +0000
+++ b/src/xdisp.c	Wed Feb 18 17:10:32 2004 +0000
@@ -19028,7 +19028,7 @@
     cursor_type = get_specified_cursor_type (b->cursor_type, width);
 
   /* Use normal cursor if not blinked off.  */
-  if (!w->cursor_off_p)
+  if (!w->cursor_off_p && glyph != NULL)
     {
       if (glyph->type == IMAGE_GLYPH) {
 	if (cursor_type == FILLED_BOX_CURSOR)
@@ -19367,7 +19367,8 @@
 
   current_glyphs = w->current_matrix;
   glyph_row = MATRIX_ROW (current_glyphs, vpos);
-  glyph = glyph_row->glyphs[TEXT_AREA] + hpos;
+  glyph = (glyph_row->cursor_in_fringe_p ? NULL
+	   : glyph_row->glyphs[TEXT_AREA] + hpos);
 
   /* If cursor row is not enabled, we don't really know where to
      display the cursor.  */
@@ -19655,7 +19656,7 @@
       if (charpos < MATRIX_ROW_START_CHARPOS (first))
 	{
 	  *x = *y = *hpos = *vpos = 0;
-	  return 0;
+	  return 1;
 	}
       else
 	{
@@ -19695,7 +19696,7 @@
     }
 
   *hpos = glyph - row->glyphs[TEXT_AREA];
-  return past_end;
+  return !past_end;
 }
 
 #else /* not 1 */