確認メッセージをサブウィンドウにも表示する目的でサブウィンドウの更新だけすべきところで
不要にすべての更新を行う handle_stuff() を呼んでおり、メインウィンドウの再描画まで
行われてしまうことによりカーソルの位置がおかしくなってしまっている。
window_stuff() を呼ぶように修正してサブウィンドウの更新のみが行われるようにする。
auto &rfu = RedrawingFlagsUpdater::get_instance();
if (auto_more) {
rfu.set_flag(SubWindowRedrawingFlag::MESSAGE);
- handle_stuff(player_ptr);
+ window_stuff(player_ptr);
num_more = 0;
}
if (mode.has_not(UserCheck::NO_HISTORY) && player_ptr->playing) {
message_add(buf);
rfu.set_flag(SubWindowRedrawingFlag::MESSAGE);
- handle_stuff(player_ptr);
+ window_stuff(player_ptr);
}
bool flag = false;