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:
parent
88cf76e18b
commit
3764acda85
10
src/misc7.c
10
src/misc7.c
@ -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;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user