1
0
mirror of https://github.com/Interlisp/maiko.git synced 2026-01-23 02:38:22 +00:00

The MISC7 (FBITMAPBIT) opcode should flush the correct bits to the display (#328)

The MISC7 opcode was not accounting for the offset from the base when
calculating which (16-bit) word should be flushed to the actual display.
This commit is contained in:
Nick Briggs 2021-01-30 18:42:47 -08:00 committed by GitHub
parent 88cf76e18b
commit 3764acda85
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -102,13 +102,19 @@ LispPTR N_OP_misc7(LispPTR arg1, LispPTR arg2, LispPTR arg3, LispPTR arg4, LispP
#ifdef SUNDISPLAY
#ifdef DISPLAYBUFFER
if (in_display_segment(base)) flush_display_ptrregion(base, 0, 16, 1);
if (in_display_segment(base)) {
/* NB: base + offset doesn't need WORDPTR() wrapper */
flush_display_ptrregion(base + offset, 0, 16, 1);
}
#endif
if (displayflg) ShowCursor;
#endif /* SUNDISPLAY */
#ifdef XWINDOW
if (in_display_segment(base)) flush_display_ptrregion(base, 0, 16, 1);
if (in_display_segment(base)) {
/* NB: base + offset doesn't need WORDPTR() wrapper */
flush_display_ptrregion(base + offset, 0, 16, 1);
}
#endif /* XWINDOW */
ScreenLocked = NIL;