a slight code-reordering in flush_screen()
despite flush_screen() being called with a True argument signifying that the cursor was to be left on the hero, sometimes the cursor wasn't. That was confirmed through some debug tracing and discussion. The subsequent bot() and timebot() calls could leave the cursor in the status area (on tty at least), and that was particularly observable during some runmodes. Get the bot() and timebot() calls out of the way ahead of the cursor placement call to the window port.
This commit is contained in:
@@ -767,8 +767,10 @@ covetous monsters will teleport to downstairs or upstairs to heal
|
||||
have fake player monsters use verbalize instead of pline when reacting to chat
|
||||
fix mention_walls distinguishing unseen walls from solid stone
|
||||
don't push unknown boulders when moving
|
||||
in flush_screen, reorder the code slightly to complete the bot() and
|
||||
timebot() calls prior to the window port call to place the cursor on the hero
|
||||
|
||||
|
||||
|
||||
Fixes to 3.7.0-x Problems that Were Exposed Via git Repository
|
||||
------------------------------------------------------------------
|
||||
fix compile when DLB isn't defined
|
||||
|
||||
@@ -1859,15 +1859,18 @@ flush_screen(int cursor_on_u)
|
||||
}
|
||||
}
|
||||
|
||||
/* get this done now, before we place the cursor on the hero */
|
||||
if (g.context.botl || g.context.botlx)
|
||||
bot();
|
||||
else if (iflags.time_botl)
|
||||
timebot();
|
||||
|
||||
/* This needs to be the final thing done in flush_screen */
|
||||
if (cursor_on_u)
|
||||
curs(WIN_MAP, u.ux, u.uy); /* move cursor to the hero */
|
||||
display_nhwindow(WIN_MAP, FALSE);
|
||||
reset_glyph_bbox();
|
||||
flushing = 0;
|
||||
if (g.context.botl || g.context.botlx)
|
||||
bot();
|
||||
else if (iflags.time_botl)
|
||||
timebot();
|
||||
}
|
||||
|
||||
/* ======================================================================== */
|
||||
|
||||
Reference in New Issue
Block a user