diff options
author | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2016-12-06 23:39:04 +0000 |
---|---|---|
committer | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2016-12-06 23:39:04 +0000 |
commit | 74d7c2d2c2b2161701c1f0258bbfc7feb753ac1e (patch) | |
tree | 33116babdc5bb108fc64efe4c0c0b71a4dd9ad78 /frontends/amiga | |
parent | a440907b78f430ff7428e48f6fb0532db5f00cd5 (diff) | |
download | netsurf-74d7c2d2c2b2161701c1f0258bbfc7feb753ac1e.tar.gz netsurf-74d7c2d2c2b2161701c1f0258bbfc7feb753ac1e.tar.bz2 |
Ensure we free the pen list memory
Diffstat (limited to 'frontends/amiga')
-rw-r--r-- | frontends/amiga/plotters.c | 19 |
1 files changed, 10 insertions, 9 deletions
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) |