X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=dvonn.c;h=8ac72b1cdd40f4efdd97de2d968a0c40812783bd;hb=74df2492e8c32df37d886dec4baf9344dc6b8cff;hp=806a8e69247c289f3a712d12293b610f54e43384;hpb=1e29ece3252138d372b47499dd4c77f01413c7fc;p=dvonn diff --git a/dvonn.c b/dvonn.c index 806a8e6..8ac72b1 100644 --- a/dvonn.c +++ b/dvonn.c @@ -157,6 +157,10 @@ on_button_press_event (GtkWidget *widget, int x, y; char *error; + /* Ignore double and triple clicks. */ + if (event->type >= GDK_2BUTTON_PRESS) + return TRUE; + x = event->x; y = event->y; layout_device_to_board (layout, &x, &y); @@ -185,12 +189,14 @@ on_button_press_event (GtkWidget *widget, } if (! game->has_selected) { - if (game->board.cells[x][y].type == game->board.player) { - game->has_selected = TRUE; - game->selected_x = x; - game->selected_y = y; - dvonn_game_update_windows (game); - } + if (game->board.cells[x][y].type == game->board.player && + ! dvonn_board_cell_surrounded (&game->board, x, y)) + { + game->has_selected = TRUE; + game->selected_x = x; + game->selected_y = y; + dvonn_game_update_windows (game); + } return TRUE; }