From f0f620cad27e075a1f0c405e27fb58b70c8dc504 Mon Sep 17 00:00:00 2001 From: "nethack.rankin" Date: Mon, 12 Dec 2011 22:50:21 +0000 Subject: [PATCH] more getpos() reversal (trunk only) There was a second instance of curs()+flush_screen() that had the calls swapped 5.5 years ago and is being restored to 3.4.3 state here. It turns out that swapping the other instance of those two calls didn't help with the original problem (^R during getpos() redrew the screen but left the cursor at the end of the 2nd status line) at all. Only adding the pline() call after docrt() fixed it. pline() calls flush_screen(1) which ultimately puts the cursor back on the hero. I still don't understand why curs(WIN_MAP,x,y)+flush_screen(0) leaves it on the status line instead of at the specified map coordinates. That must be a bug in the tty code somewhere. --- src/do_name.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/do_name.c b/src/do_name.c index 4b0cd5f4f..eb234ce94 100644 --- a/src/do_name.c +++ b/src/do_name.c @@ -75,8 +75,8 @@ const char *goal; #ifdef CLIPPING cliparound(cx, cy); #endif - flush_screen(0); curs(WIN_MAP, cx, cy); + flush_screen(0); #ifdef MAC lock_mouse_cursor(TRUE); #endif