summaryrefslogtreecommitdiff
path: root/frontends/amiga/plotters.c
diff options
context:
space:
mode:
Diffstat (limited to 'frontends/amiga/plotters.c')
-rw-r--r--frontends/amiga/plotters.c19
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)