]> git.cworth.org Git - kub/blobdiff - kub.c
Fix bug causing garbage lines
[kub] / kub.c
diff --git a/kub.c b/kub.c
index bb29e6f05cd7b72939fd0f6bfedb7de8d7f5125c..a6b1f3ff02603f7c1648df0f702621ea11efda52 100644 (file)
--- a/kub.c
+++ b/kub.c
@@ -446,8 +446,6 @@ static gboolean on_button_press_event (GtkWidget *widget, GdkEventButton *event,
            event->y >= tile_y && event->y <= (tile_y + TILE_HEIGHT) )
 
            game->current_tile = i;
-       else 
-           game->current_tile = -1;
     }
 
     return TRUE;
@@ -464,20 +462,19 @@ static gboolean on_button_motion_event (GtkWidget *widget, GdkEventMotion *event
                                        game_t *game, cairo_t *cr)
 {
     tile_t *tile;
-    if (game->current_tile >= 0)
-    {
-       tile = &game->deck.tiles[game->current_tile];
-
-       /* First, invalidate the region where the tile currently is. */
-       gtk_widget_queue_draw_area (widget, tile->x, tile->y, TILE_WIDTH, TILE_HEIGHT);
-       
-       /* Then, move the tile */
-       tile->x = event->x;
-       tile->y = event->y;
-       
-       /* Finally, invalidate the region where the tile is now. */
-       gtk_widget_queue_draw_area (widget, tile->x, tile->y, TILE_WIDTH, TILE_HEIGHT);
-    }
+    
+    tile = &game->deck.tiles[game->current_tile];
+    
+    /* First, invalidate the region where the tile currently is. */
+    gtk_widget_queue_draw_area (widget, tile->x - 1, tile->y - 1, TILE_WIDTH + 1, TILE_HEIGHT + 2);
+    
+    /* Then, move the tile */
+    tile->x = event->x;
+    tile->y = event->y;
+    
+    /* Finally, invalidate the region where the tile is now. */
+    gtk_widget_queue_draw_area (widget, tile->x - 1, tile->y - 1, TILE_WIDTH + 1, TILE_HEIGHT + 2);
+    
     return TRUE;
 }