From 74d7c2d2c2b2161701c1f0258bbfc7feb753ac1e Mon Sep 17 00:00:00 2001 From: Chris Young Date: Tue, 6 Dec 2016 23:39:04 +0000 Subject: Ensure we free the pen list memory --- frontends/amiga/plotters.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'frontends/amiga/plotters.c') diff --git a/frontends/amiga/plotters.c b/frontends/amiga/plotters.c index 6bae6346a..7c8e8d6e7 100644 --- a/frontends/amiga/plotters.c +++ b/frontends/amiga/plotters.c @@ -273,20 +273,21 @@ void ami_plot_release_pens(struct MinList *shared_pens) struct ami_plot_pen *nnode; if(shared_pens == NULL) return; - if(IsMinListEmpty(shared_pens)) return; - node = (struct ami_plot_pen *)GetHead((struct List *)shared_pens); - - do { - nnode = (struct ami_plot_pen *)GetSucc((struct Node *)node); - ReleasePen(scrn->ViewPort.ColorMap, node->pen); - Remove((struct Node *)node); - ami_memory_itempool_free(pool_pens, node, sizeof(struct ami_plot_pen)); - } while((node = nnode)); + if(IsMinListEmpty(shared_pens) == NULL) { + node = (struct ami_plot_pen *)GetHead((struct List *)shared_pens); + do { + nnode = (struct ami_plot_pen *)GetSucc((struct Node *)node); + ReleasePen(scrn->ViewPort.ColorMap, node->pen); + Remove((struct Node *)node); + ami_memory_itempool_free(pool_pens, node, sizeof(struct ami_plot_pen)); + } while((node = nnode)); + } glob->apen = 0x00000000; glob->open = 0x00000000; glob->apen_num = -1; glob->open_num = -1; + free(shared_pens); } static void ami_plot_setapen(struct RastPort *rp, ULONG colr) -- cgit v1.2.3