Index: trunk/src_plugins/hid_gtk2_gdk/gtkhid-gdk.c =================================================================== --- trunk/src_plugins/hid_gtk2_gdk/gtkhid-gdk.c (revision 7994) +++ trunk/src_plugins/hid_gtk2_gdk/gtkhid-gdk.c (revision 7995) @@ -1151,6 +1151,9 @@ static int done_once = 0; render_priv_t *priv = port->render_priv; + if (gport->pixmap) + gdk_pixmap_unref(gport->pixmap); + 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; Index: trunk/src_plugins/hid_gtk2_gl/gtkhid-gl.c =================================================================== --- trunk/src_plugins/hid_gtk2_gl/gtkhid-gl.c (revision 7994) +++ trunk/src_plugins/hid_gtk2_gl/gtkhid-gl.c (revision 7995) @@ -806,8 +806,6 @@ GHidPort *p = port; render_priv_t *priv = p->render_priv; - 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) { Index: trunk/src_plugins/lib_gtk_hid/glue_hid.c =================================================================== --- trunk/src_plugins/lib_gtk_hid/glue_hid.c (revision 7994) +++ trunk/src_plugins/lib_gtk_hid/glue_hid.c (revision 7995) @@ -136,10 +136,7 @@ gport->view.canvas_width = ev->width; gport->view.canvas_height = ev->height; - if (gport->pixmap) - gdk_pixmap_unref(gport->pixmap); - - ghid_drawing_area_configure_hook(out); + ghid_drawing_area_configure_hook(out); if (!first_time_done) { first_time_done = TRUE; pcb_board_changed(0);