Index: src_plugins/hid_gtk2_gdk/gtkhid-gdk.c =================================================================== --- src_plugins/hid_gtk2_gdk/gtkhid-gdk.c (revision 7993) +++ src_plugins/hid_gtk2_gdk/gtkhid-gdk.c (revision 7994) @@ -1154,6 +1154,7 @@ gport->pixmap = gdk_pixmap_new(gtk_widget_get_window(gport->drawing_area), gport->view.canvas_width, gport->view.canvas_height, -1); priv->drawable = gport->pixmap; + gport->drawing_allowed = pcb_true; if (!done_once) { priv->bg_gc = gdk_gc_new(priv->drawable); Index: src_plugins/hid_gtk2_gl/gtkhid-gl.c =================================================================== --- src_plugins/hid_gtk2_gl/gtkhid-gl.c (revision 7993) +++ src_plugins/hid_gtk2_gl/gtkhid-gl.c (revision 7994) @@ -808,6 +808,7 @@ gport->pixmap = gdk_pixmap_new(gtk_widget_get_window(gport->drawing_area), gport->view.canvas_width, gport->view.canvas_height, -1); + gport->drawing_allowed = pcb_true; if (!done_once) { if (!map_color_string(conf_core.appearance.color.background, &priv->bg_color)) Index: src_plugins/lib_gtk_hid/glue_event.c =================================================================== --- src_plugins/lib_gtk_hid/glue_event.c (revision 7993) +++ src_plugins/lib_gtk_hid/glue_event.c (revision 7994) @@ -29,7 +29,7 @@ if (PCB != NULL) ghidgui->common.window_set_name_label(PCB->Name); - if (!gport->pixmap) + if (!gport->drawing_allowed) return; if (ghidgui->topwin.route_style_selector) { Index: src_plugins/lib_gtk_hid/gui.h =================================================================== --- src_plugins/lib_gtk_hid/gui.h (revision 7993) +++ src_plugins/lib_gtk_hid/gui.h (revision 7994) @@ -42,6 +42,7 @@ #include "event.h" #include "conf_hid.h" #include "render.h" +#include "pcb_bool.h" struct GhidGui_s { GtkActionGroup *main_actions; @@ -66,6 +67,7 @@ GtkWidget *top_window, /* toplevel widget */ *drawing_area; /* and its drawing area */ GdkPixmap *pixmap, *mask; + pcb_bool drawing_allowed; /**< Track if a drawing area is available for rendering. */ struct render_priv_s *render_priv;