X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=dialogs.c;h=1bc08a7aa23387138be5a887ee1098b3eae3666c;hb=81a640a52b1e72cc1d26d9d85a6644ffb933b06c;hp=d1777dfb0b6d05dff292adbd6e2cb548348d5f8e;hpb=496a28be421660ca3fc07884f422f46b474c309a;p=xboard.git diff --git a/dialogs.c b/dialogs.c index d1777df..1bc08a7 100644 --- a/dialogs.c +++ b/dialogs.c @@ -1600,6 +1600,7 @@ PromoPick (int n) ClearHighlights(); return; } + if(promoChar == '=' && !IS_SHOGI(gameInfo.variant)) promoChar = NULLCHAR; UserMoveEvent(fromX, fromY, toX, toY, promoChar); if (!appData.highlightLastMove || gotPremove) ClearHighlights(); @@ -1616,11 +1617,11 @@ SetPromo (char *name, int nr, char promoChar) } void -PromotionPopUp () +PromotionPopUp (char choice) { // choice depends on variant: prepare dialog acordingly count = 8; - SetPromo(_("Cancel"), --count, 0); // Beware: GenericPopUp cannot handle user buttons named "cancel" (lowe case)! - if(!IS_SHOGI(gameInfo.variant)) { + SetPromo(_("Cancel"), --count, -1); // Beware: GenericPopUp cannot handle user buttons named "cancel" (lowe case)! + if(choice != '+') { if (!appData.testLegality || gameInfo.variant == VariantSuicide || gameInfo.variant == VariantSpartan && !WhiteOnMove(currentMove) || gameInfo.variant == VariantGiveaway) {