From 14ae6044530978bb1bf5ff45cc14376b3832c457 Mon Sep 17 00:00:00 2001 From: H.G. Muller Date: Wed, 27 Jan 2010 13:34:55 +0100 Subject: [PATCH] Small fix in editing castling rights If there is no King with rights, the e-file is used to decide if a Rook with rights is the K-side or Q-side Rook. This at least works with corner Rooks, to avoid disappearence of Rook-rights on repetitive editing of a position through intermediates with no King-rights. --- backend.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/backend.c b/backend.c index 2c245d6..cfc9b6f 100644 --- a/backend.c +++ b/backend.c @@ -12023,11 +12023,13 @@ EditPositionDone(Boolean fakeRights) kf = NoRights; err = 0; for(f=BOARD_RGHT-1; f>=0; f--) if(rightsBoard[0][f] == 2) { if(kf != NoRights) err=10; boards[0][CASTLING][2] = kf = f; } + if(kf == NoRights) kf = 4; for(f=BOARD_RGHT-1; f>=0; f--) if(rightsBoard[0][f] == 1) { err++; boards[0][CASTLING][f=0; f--) if(rightsBoard[BOARD_HEIGHT-1][f] == 2) { if(kf != NoRights) err=10; boards[0][CASTLING][5] = kf = f; } + if(kf == NoRights) kf = 4; for(f=BOARD_RGHT-1; f>=0; f--) if(rightsBoard[BOARD_HEIGHT-1][f] == 1) { err++; boards[0][CASTLING][3+(f nrCastlingRights) DisplayError("unclear castling rights", 0); -- 1.7.0.4