X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=dialogs.c;h=726574c2e86fa461711871b0db73ee51fae99ecb;hb=0d5d98e82dac22b0873aaf9fea8a1b13e1f9f349;hp=586e62895853d42d1922e5dd0d015798541bf885;hpb=77a587355e8fb421964949184eea7e51d61f5d61;p=xboard.git diff --git a/dialogs.c b/dialogs.c index 586e628..726574c 100644 --- a/dialogs.c +++ b/dialogs.c @@ -1454,13 +1454,13 @@ static int count; static void PromoPick P((int n)); static Option promoOptions[] = { -{ 0, 0, 0, NULL, (void*) &PromoPick, NULL, NULL, Button, "" }, -{ 0, SAME_ROW, 0, NULL, (void*) &PromoPick, NULL, NULL, Button, "" }, -{ 0, SAME_ROW, 0, NULL, (void*) &PromoPick, NULL, NULL, Button, "" }, -{ 0, SAME_ROW, 0, NULL, (void*) &PromoPick, NULL, NULL, Button, "" }, -{ 0, SAME_ROW, 0, NULL, (void*) &PromoPick, NULL, NULL, Button, "" }, -{ 0, SAME_ROW, 0, NULL, (void*) &PromoPick, NULL, NULL, Button, "" }, -{ 0, SAME_ROW, 0, NULL, (void*) &PromoPick, NULL, NULL, Button, "" }, +{ 0, 0, 0, NULL, (void*) &PromoPick, NULL, NULL, Button, NULL }, +{ 0, SAME_ROW, 0, NULL, (void*) &PromoPick, NULL, NULL, Button, NULL }, +{ 0, SAME_ROW, 0, NULL, (void*) &PromoPick, NULL, NULL, Button, NULL }, +{ 0, SAME_ROW, 0, NULL, (void*) &PromoPick, NULL, NULL, Button, NULL }, +{ 0, SAME_ROW, 0, NULL, (void*) &PromoPick, NULL, NULL, Button, NULL }, +{ 0, SAME_ROW, 0, NULL, (void*) &PromoPick, NULL, NULL, Button, NULL }, +{ 0, SAME_ROW, 0, NULL, (void*) &PromoPick, NULL, NULL, Button, NULL }, { 0, SAME_ROW | NO_OK, 0, NULL, NULL, "", NULL, EndMark , "" } }; @@ -1489,8 +1489,9 @@ PromoPick (int n) static void SetPromo (char *name, int nr, char promoChar) { - safeStrCpy(promoOptions[nr].name, name, MSG_SIZ); + ASSIGN(promoOptions[nr].name, name); promoOptions[nr].value = promoChar; + promoOptions[nr].min = SAME_ROW; } void @@ -1526,6 +1527,7 @@ PromotionPopUp () SetPromo(_("Defer"), --count, '='); SetPromo(_("Promote"), --count, '+'); } + promoOptions[count].min = 0; GenericPopUp(promoOptions + count, "Promotion", PromoDlg, BoardWindow, NONMODAL, 0); } @@ -1909,6 +1911,7 @@ Exp (int n, int x, int y) if(but3) MovePV(x, y, lineGap + BOARD_HEIGHT * (squareSize + lineGap)); return NULL; } + if(n != 10 && PopDown(PromoDlg)) fromX = fromY = -1; // user starts fiddling with board when promotion dialog is up shiftKey = ShiftKeys(); controlKey = (shiftKey & 0xC) != 0; shiftKey = (shiftKey & 3) != 0;