summaryrefslogtreecommitdiff
path: root/amiga
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2016-02-14 15:42:58 +0000
committerChris Young <chris@unsatisfactorysoftware.co.uk>2016-02-14 15:42:58 +0000
commit3b57ce1013ff8638dcf0e7d9622fce15f3ddbab3 (patch)
tree777f584d06092808d91fdbe9021988adc4726c37 /amiga
parent86247eea5923830a4769245f43d44fe844c40219 (diff)
downloadnetsurf-3b57ce1013ff8638dcf0e7d9622fce15f3ddbab3.tar.gz
netsurf-3b57ce1013ff8638dcf0e7d9622fce15f3ddbab3.tar.bz2
Free shared_pens list on tree destroy
Diffstat (limited to 'amiga')
-rwxr-xr-xamiga/object.c2
-rw-r--r--amiga/tree.c9
2 files changed, 6 insertions, 5 deletions
diff --git a/amiga/object.c b/amiga/object.c
index 6fedb9737..8da16394e 100755
--- a/amiga/object.c
+++ b/amiga/object.c
@@ -53,7 +53,7 @@ void ami_object_fini(void)
}
/* Slightly abstract MinList initialisation */
-void ami_NewMinList(struct MinList *list)
+static void ami_NewMinList(struct MinList *list)
{
if(list == NULL) return;
NewnsList((struct nsList *)list);
diff --git a/amiga/tree.c b/amiga/tree.c
index b51615a63..ba5f66260 100644
--- a/amiga/tree.c
+++ b/amiga/tree.c
@@ -130,6 +130,7 @@ static void ami_tree_get_window_dimensions(int *width, int *height, void *data);
void ami_tree_destroy(struct treeview_window *twin)
{
tree_delete(twin->tree);
+ FreeVec(twin->shared_pens);
FreeVec(twin);
}
@@ -733,8 +734,6 @@ void ami_tree_open(struct treeview_window *twin,int type)
twin->scrollerhook.h_Entry = (void *)ami_tree_scroller_hook;
twin->scrollerhook.h_Data = twin;
- twin->shared_pens = ami_AllocMinList();
- twin->globals.shared_pens = twin->shared_pens;
ami_init_layers(&twin->globals, 0, 0, false);
ami_tree_menu(twin);
@@ -889,7 +888,6 @@ void ami_tree_close(struct treeview_window *twin)
DelObjectNoFree(twin->node);
ami_plot_release_pens(twin->shared_pens);
ami_free_layers(&twin->globals);
- FreeVec(twin->shared_pens);
for(i=0;i<AMI_TREE_MENU_ITEMS;i++) {
if(twin->menu_name[i] && (twin->menu_name[i] != NM_BARLABEL))
@@ -1459,9 +1457,12 @@ struct treeview_window *ami_tree_create(int flags,
return NULL;
}
+ twin->shared_pens = ami_AllocMinList();
+ twin->globals.shared_pens = twin->shared_pens;
+
twin->ssl_data = ssl_data;
twin->tree = tree_create(flags, &ami_tree_callbacks, twin);
-
+
return twin;
}