summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--desktop/tree.h2
-rw-r--r--gtk/gtk_treeview.c9
-rw-r--r--riscos/history.c42
3 files changed, 33 insertions, 20 deletions
diff --git a/desktop/tree.h b/desktop/tree.h
index 632667ad0..670eb55f4 100644
--- a/desktop/tree.h
+++ b/desktop/tree.h
@@ -104,7 +104,6 @@ struct node *tree_create_folder_node(struct node *parent, const char *title);
struct node *tree_create_leaf_node(struct node *parent, const char *title);
void tree_set_node_sprite(struct node *node, const char *sprite,
const char *expanded);
-void tree_set_node_sprite_folder(struct node *node);
struct node *tree_create_URL_node(struct node *parent, const char *title,
const char *url, int filetype, int add_date, int last_date,
int visits);
@@ -133,5 +132,6 @@ void tree_draw_node_expansion(struct tree *tree, struct node *node);
void tree_recalculate_node_element(struct node_element *element);
void tree_update_URL_node(struct node *node);
void tree_resized(struct tree *tree);
+void tree_set_node_sprite_folder(struct node *node);
#endif
diff --git a/gtk/gtk_treeview.c b/gtk/gtk_treeview.c
index ced83dd1c..c7d04362f 100644
--- a/gtk/gtk_treeview.c
+++ b/gtk/gtk_treeview.c
@@ -94,3 +94,12 @@ void tree_update_URL_node(struct node *node) {
*/
void tree_resized(struct tree *tree) {
}
+
+
+/**
+ * Sets a node element as having a folder sprite
+ *
+ * \param node the node to update
+ */
+void tree_set_node_sprite_folder(struct node *node) {
+}
diff --git a/riscos/history.c b/riscos/history.c
index 153d3c629..7901ed3ae 100644
--- a/riscos/history.c
+++ b/riscos/history.c
@@ -433,24 +433,29 @@ void ro_gui_history_redraw_tree(struct history_entry *he,
area, (osspriteop_id)header,
colourtrans_CURRENT_MODE, colourtrans_CURRENT_PALETTE,
0, colourtrans_GIVEN_SPRITE, 0, 0, &size);
- table = xcalloc(size, 1);
- xcolourtrans_generate_table_for_sprite(
- area, (osspriteop_id)header,
- colourtrans_CURRENT_MODE, colourtrans_CURRENT_PALETTE,
- table, colourtrans_GIVEN_SPRITE, 0, 0, 0);
-
- factors.xmul = 1;
- factors.ymul = 1;
- factors.xdiv = 1;
- factors.ydiv = 1;
-
- xosspriteop_put_sprite_scaled(osspriteop_PTR,
- area, (osspriteop_id)header,
- x0 + he->x * FULL_WIDTH + MARGIN,
- y0 - he->y * FULL_HEIGHT - FULL_HEIGHT + MARGIN,
- osspriteop_USE_MASK | osspriteop_USE_PALETTE, &factors, table);
-
- xfree(table);
+ table = calloc(size, 1);
+ if (!table) {
+ LOG(("Insufficient memory for calloc"));
+ warn_user("NoMemory", 0);
+ } else {
+ xcolourtrans_generate_table_for_sprite(
+ area, (osspriteop_id)header,
+ colourtrans_CURRENT_MODE, colourtrans_CURRENT_PALETTE,
+ table, colourtrans_GIVEN_SPRITE, 0, 0, 0);
+
+ factors.xmul = 1;
+ factors.ymul = 1;
+ factors.xdiv = 1;
+ factors.ydiv = 1;
+
+ xosspriteop_put_sprite_scaled(osspriteop_PTR,
+ area, (osspriteop_id)header,
+ x0 + he->x * FULL_WIDTH + MARGIN,
+ y0 - he->y * FULL_HEIGHT - FULL_HEIGHT + MARGIN,
+ osspriteop_USE_MASK | osspriteop_USE_PALETTE,
+ &factors, table);
+ free(table);
+ }
}
}
@@ -466,7 +471,6 @@ void ro_gui_history_redraw_tree(struct history_entry *he,
y0 - he->y * FULL_HEIGHT - HEIGHT - MARGIN - 24,
NULL, NULL, 0);
-
colourtrans_set_gcol(os_COLOUR_MID_DARK_GREY, 0,
os_ACTION_OVERWRITE, 0);