Trival style fix to previous commit to add this detail.
The previous commit also fixed the coordinates passed to the mouse removal renderer. The coordinates were rounded down to a character boundary, and thus essentially unusable. The renderer had to keep track of the previous position, or clear a larger area. The latter is only safe in the border, which is all that needs special handling anyway. I think no renderer depends on the bug. They have the following handling: - gfb sparc64: this seems to assume non-rounded coordinates - gfb other: does nothing (seems to be missing border handling) - vga text: does nothing (doesn't need border handling) - vga planar: clears extras in the border, with some bugs. The fixes will use the precise coordinates to optimize. - vga direct: clears at the previous position with no check that it is active, and clears everything. Checking finds this bug. - others: are there any?
This commit is contained in:
parent
accdee8d46
commit
ac07ac7c74
@ -252,7 +252,7 @@ sc_remove_mouse_image(scr_stat *scp)
|
||||
i = scp->mouse_oldpos;
|
||||
mark_for_update(scp, i);
|
||||
mark_for_update(scp, i);
|
||||
cols = 1 + howmany(10 - 1, scp->font_width); /* up to VGA cursor width 9 */
|
||||
cols = 1 + howmany(10 - 1, scp->font_width); /* up to VGA cursor width 9 */
|
||||
cols = imax(cols, 2); /* in case it is text mode 2x2 char cells */
|
||||
cols = imin(cols, scp->xsize - i % scp->xsize);
|
||||
rows = 1 + howmany(16 - 1, scp->font_size); /* up to VGA cursor height 16 */
|
||||
|
Loading…
x
Reference in New Issue
Block a user