patch-2.4.22 linux-2.4.22/drivers/video/fbcon.c
Next file: linux-2.4.22/drivers/video/fbmem.c
Previous file: linux-2.4.22/drivers/video/epson1356fb.h
Back to the patch index
Back to the overall index
- Lines: 50
- Date:
2003-08-25 04:44:42.000000000 -0700
- Orig file:
linux-2.4.21/drivers/video/fbcon.c
- Orig date:
2002-11-28 15:53:15.000000000 -0800
diff -urN linux-2.4.21/drivers/video/fbcon.c linux-2.4.22/drivers/video/fbcon.c
@@ -266,23 +266,22 @@
int PROC_CONSOLE(const struct fb_info *info)
{
int fgc;
-
- if (info->display_fg != NULL)
- fgc = info->display_fg->vc_num;
- else
- return -1;
-
- if (!current->tty)
- return fgc;
-
- if (current->tty->driver.type != TTY_DRIVER_TYPE_CONSOLE)
- /* XXX Should report error here? */
- return fgc;
- if (MINOR(current->tty->device) < 1)
- return fgc;
+ if (info->display_fg == NULL)
+ return -1;
- return MINOR(current->tty->device) - 1;
+ if (!current->tty ||
+ current->tty->driver.type != TTY_DRIVER_TYPE_CONSOLE ||
+ MINOR(current->tty->device) < 1)
+ fgc = info->display_fg->vc_num;
+ else
+ fgc = MINOR(current->tty->device)-1;
+
+ /* Does this virtual console belong to the specified fbdev? */
+ if (fb_display[fgc].fb_info != info)
+ return -1;
+
+ return fgc;
}
@@ -919,8 +918,9 @@
return;
cursor_on = 0;
- if (cursor_drawn)
- p->dispsw->revc(p, p->cursor_x, real_y(p, p->cursor_y));
+ if (cursor_drawn && p->cursor_x < conp->vc_cols &&
+ p->cursor_y < conp->vc_rows)
+ p->dispsw->revc(p, p->cursor_x, real_y(p, p->cursor_y));
p->cursor_x = conp->vc_x;
p->cursor_y = y;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)