Index: trunk/src_plugins/hid_gtk3_cairo/gtkhid-cairo.c =================================================================== --- trunk/src_plugins/hid_gtk3_cairo/gtkhid-cairo.c (revision 25364) +++ trunk/src_plugins/hid_gtk3_cairo/gtkhid-cairo.c (revision 25365) @@ -32,8 +32,7 @@ #include #include "crosshair.h" -#include "data.h" -#include "layer.h" +#include "draw.h" #include "grid.h" #include "hid_attrib.h" #include "hid_color.h" @@ -1090,14 +1089,19 @@ ghid_cairo_draw_bg_image(hidlib); - pcb_hid_expose_all(pcb_gui, &ctx, NULL); + pcb_hid_expose_all(>k3_cairo_hid, &ctx, NULL); ghid_cairo_draw_grid(hidlib); /* Draws "GUI" information on top of design */ priv->cr = priv->cr_drawing_area; - pcb_draw_attached(0); - pcb_draw_mark(0); + /* In some cases we are called with the crosshair still off */ + if (priv->attached_invalidate_depth == 0) + pcbhl_draw_attached(hidlib, 0); + /* In some cases we are called with the mark still off */ + if (priv->mark_invalidate_depth == 0) + pcbhl_draw_marks(hidlib, 0); + priv->clip = pcb_false; /* Rest the clip for bg_gc, as it is used outside this function */ @@ -1180,7 +1184,7 @@ } if (priv->mark_invalidate_depth == 0) - pcb_draw_mark(0); + pcbhl_draw_marks(hidlib, 0); if (!changes_complete) { priv->mark_invalidate_depth++;