--- gtkboard.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/gtkboard.c b/gtkboard.c index 588c7d90..e9160c51 100644 --- a/gtkboard.c +++ b/gtkboard.c @@ -332,9 +332,6 @@ board_draw_area(cairo_t * cr, gint x, gint y, gint cx, gint cy, BoardData * bd) cairo_restore(cr); } } -#if !GTK_CHECK_VERSION(3,0,0) - gtk_widget_queue_draw(bd->drawing_area); -#endif } #if defined(USE_BOARD3D) } @@ -343,13 +340,14 @@ board_draw_area(cairo_t * cr, gint x, gint y, gint cx, gint cy, BoardData * bd) #if GTK_CHECK_VERSION(3,0,0) static gboolean -board_draw(GtkWidget * drawing_area, cairo_t * cr, BoardData * bd) +board_draw(GtkWidget *widget, cairo_t *cr, gpointer user_data) { - if (bd->rd->nSize == 0) + BoardData *bd = user_data; + if (!bd || !bd->rd || bd->rd->nSize == 0) return TRUE; - board_draw_area(cr, 0, 0, gtk_widget_get_allocated_width(drawing_area), - gtk_widget_get_allocated_height(drawing_area), bd); + board_draw_area(cr, 0, 0, gtk_widget_get_allocated_width(widget), + gtk_widget_get_allocated_height(widget), bd); return TRUE; } #else @@ -2157,6 +2155,7 @@ board_motion_notify(GtkWidget * board, GdkEventMotion * event, BoardData * bd) if ((ap[bd->drag_colour == -1 ? 0 : 1].pt == PLAYER_HUMAN) /* not for computer turn */ &&gdk_event_get_time((GdkEvent *) event) - bd->click_time > HINT_TIME) { bd->DragTargetHelp = legal_dest_points(bd, bd->iTargetHelpPoints); + gtk_widget_queue_draw(bd->drawing_area); } } -- 2.49.0