Fix button grab for sweep selection
authorH.G. Muller <h.g.muller@hccnet.nl>
Thu, 16 Feb 2012 13:09:54 +0000 (14:09 +0100)
committerH.G. Muller <h.g.muller@hccnet.nl>
Fri, 17 Feb 2012 21:58:10 +0000 (22:58 +0100)
The piece-menu initialization limited the grab of button events to those
occurring inside the board window (presumably intended to limit them to
the piece menu, but that does not pop up in sweep-selection mode).
This is now suppressed when -pieceMenu is off, so that selection continues
outside the the board. (Which is very convenient for pieces pu close to the
edge.)

xboard.c

index 6503c29..2efea90 100644 (file)
--- a/xboard.c
+++ b/xboard.c
@@ -4084,6 +4084,7 @@ CreatePieceMenus ()
     whitePieceMenu = CreatePieceMenu("menuW", 0);
     blackPieceMenu = CreatePieceMenu("menuB", 1);
 
     whitePieceMenu = CreatePieceMenu("menuW", 0);
     blackPieceMenu = CreatePieceMenu("menuB", 1);
 
+    if(appData.pieceMenu) // [HGM] sweep: no idea what this was good for, but it stopped reporting button events outside the window
     XtRegisterGrabAction(PieceMenuPopup, True,
                         (unsigned)(ButtonPressMask|ButtonReleaseMask),
                         GrabModeAsync, GrabModeAsync);
     XtRegisterGrabAction(PieceMenuPopup, True,
                         (unsigned)(ButtonPressMask|ButtonReleaseMask),
                         GrabModeAsync, GrabModeAsync);