Hacky fix for pline recursion outputting raw_print

When glyph updates are on, pline can be called recursively
when the vision is being fully recalculated.  This caused
the recursively called pline to output raw_pline text.

Not sure if this is the correct way to fix it, but can't really
turn off or block the glyph update notices either ...
This commit is contained in:
Pasi Kallinen
2024-12-28 20:41:35 +02:00
parent 454978fadd
commit 767a20e21f

View File

@@ -257,8 +257,13 @@ vpline(const char *line, va_list the_args)
goto pline_done;
}
if (gv.vision_full_recalc)
if (gv.vision_full_recalc) {
int tmp_in_pline = in_pline;
in_pline = 0;
vision_recalc(0);
in_pline = tmp_in_pline;
}
if (u.ux)
flush_screen((gp.pline_flags & NO_CURS_ON_U) ? 0 : 1); /* %% */