Index: png.c =================================================================== --- png.c (revision 36206) +++ png.c (revision 36207) @@ -112,6 +112,7 @@ color_struct *black, *white; gdImagePtr im, master_im, comp_im, erase_im; int last_color_r, last_color_g, last_color_b, last_cap; + gdImagePtr lastbrush; } rnd_png_t; static rnd_png_t pctx_, *pctx = &pctx_; @@ -121,6 +122,7 @@ memset(pctx, 0, sizeof(rnd_png_t)); pctx->hidlib = hidlib; pctx->scale = 1; + pctx->lastbrush = (gdImagePtr)((void *)-1); } @@ -147,8 +149,8 @@ } hid_gc_t; static int linewidth = -1; -static gdImagePtr lastbrush = (gdImagePtr) ((void *) -1); + #define FMT_gif "GIF" #define FMT_jpg "JPEG" #define FMT_png "PNG" @@ -495,7 +497,7 @@ static void png_head(void) { linewidth = -1; - lastbrush = (gdImagePtr) ((void *) -1); + pctx->lastbrush = (gdImagePtr)((void *)-1); png_photo_head(); pctx->show_solder_side = conf_core.editor.show_solder_side; pctx->last_color_r = pctx->last_color_g = pctx->last_color_b = pctx->last_cap = -1; @@ -1104,7 +1106,7 @@ need_brush |= (agc->r != pctx->last_color_r) || (agc->g != pctx->last_color_g) || (agc->b != pctx->last_color_b) || (agc->cap != pctx->last_cap); - if (lastbrush != agc->brush || need_brush) { + if (pctx->lastbrush != agc->brush || need_brush) { int r; if (agc->width) @@ -1173,8 +1175,7 @@ } gdImageSetBrush(im, agc->brush); - lastbrush = agc->brush; - + pctx->lastbrush = agc->brush; } }