diff options
author | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2016-01-26 19:40:59 +0000 |
---|---|---|
committer | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2016-01-26 19:40:59 +0000 |
commit | 04cbc08c5726556e2a7c4b565d3cc933bac7b9bd (patch) | |
tree | 9bcde4485c76765600828c20345f991ecad2c4a4 /amiga/tree.c | |
parent | 520e81f98d7560cb39a9141c698723e2e36aa675 (diff) | |
download | netsurf-04cbc08c5726556e2a7c4b565d3cc933bac7b9bd.tar.gz netsurf-04cbc08c5726556e2a7c4b565d3cc933bac7b9bd.tar.bz2 |
Don't use ami_NewMinList as it potentially writes past the MinList structure on OS3.
Instead we use ami_AllocMinList and pointers.
Diffstat (limited to 'amiga/tree.c')
-rw-r--r-- | amiga/tree.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/amiga/tree.c b/amiga/tree.c index 54082099f..3fdb529d7 100644 --- a/amiga/tree.c +++ b/amiga/tree.c @@ -109,7 +109,7 @@ struct treeview_window { char *sslerr; char *sslaccept; char *sslreject; - struct MinList shared_pens; + struct MinList *shared_pens; }; struct ami_tree_redraw_req { @@ -887,7 +887,8 @@ void ami_tree_close(struct treeview_window *twin) DisposeObject(twin->objects[OID_MAIN]); DelObjectNoFree(twin->node); ami_free_layers(&twin->globals); - ami_plot_release_pens(&twin->shared_pens); + ami_plot_release_pens(twin->shared_pens); + FreeVec(twin->shared_pens); for(i=0;i<AMI_TREE_MENU_ITEMS;i++) { if(twin->menu_name[i] && (twin->menu_name[i] != NM_BARLABEL)) @@ -1485,8 +1486,8 @@ struct treeview_window *ami_tree_create(int flags, twin->ssl_data = ssl_data; twin->tree = tree_create(flags, &ami_tree_callbacks, twin); - ami_NewMinList(&twin->shared_pens); - twin->globals.shared_pens = &twin->shared_pens; + twin->shared_pens = ami_AllocMinList(); + twin->globals.shared_pens = twin->shared_pens; return twin; } |