Fix expose requests seek graph
[xboard.git] / backend.c
index 4522ca1..b7dad06 100644 (file)
--- a/backend.c
+++ b/backend.c
@@ -2513,9 +2513,7 @@ PlotSeekAd (int i)
 void
 PlotSingleSeekAd (int i)
 {
-       DrawSeekOpen();
        PlotSeekAd(i);
-       DrawSeekClose();
 }
 
 void
@@ -2602,14 +2600,13 @@ DrawSeekGraph ()
     h = BOARD_HEIGHT * (squareSize + lineGap) + lineGap;
     w = BOARD_WIDTH  * (squareSize + lineGap) + lineGap;
 
-    DrawSeekOpen();
     DrawSeekBackground(0, 0, w, h);
     DrawSeekAxis(hMargin, h-1-vMargin, w-5, h-1-vMargin);
     DrawSeekAxis(hMargin, h-1-vMargin, hMargin, 5);
     for(i=0; i<4000; i+= 100) if(i>=minRating && i<maxRating) {
        int yy =((double)i - minRating)/(maxRating - minRating)*(h-vMargin-squareSize/8-1) + vMargin;
        yy = h-1-yy;
-       DrawSeekAxis(hMargin+5*(i%500==0), yy, hMargin-5, yy); // rating ticks
+       DrawSeekAxis(hMargin-5, yy, hMargin+5*(i%500==0), yy); // rating ticks
        if(i%500 == 0) {
            char buf[MSG_SIZ];
            snprintf(buf, MSG_SIZ, "%d", i);
@@ -2627,7 +2624,6 @@ DrawSeekGraph ()
        }
     }
     for(i=0; i<nrOfSeekAds; i++) PlotSeekAd(i);
-    DrawSeekClose();
     return TRUE;
 }
 
@@ -6755,7 +6751,7 @@ UserMoveEvent(int fromX, int fromY, int toX, int toY, int promoChar)
        }
     }
 
-    if(doubleClick) { // [HGM] exclude: move entered with double-click on from square is for exclusion, not playing
+    if(doubleClick && gameMode == AnalyzeMode) { // [HGM] exclude: move entered with double-click on from square is for exclusion, not playing
         if(ExcludeOneMove(fromY, fromX, toY, toX, promoChar, '*')) // toggle
             ClearPremoveHighlights(); // was included
        else ClearHighlights(), SetPremoveHighlights(ff, rf, ft, rt); // exclusion indicated  by premove highlights
@@ -7316,6 +7312,7 @@ LeftClick (ClickType clickType, int xPix, int yPix)
 
     if (HasPromotionChoice(fromX, fromY, toX, toY, &promoChoice, appData.sweepSelect)) {
        SetHighlights(fromX, fromY, toX, toY);
+        MarkTargetSquares(1);
        if(gameInfo.variant == VariantSuper || gameInfo.variant == VariantGreat || gameInfo.variant == VariantGrand) {
            // [HGM] super: promotion to captured piece selected from holdings
            ChessSquare p = boards[currentMove][fromY][fromX], q = boards[currentMove][toY][toX];