summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincent Sanders <vince@kyllikki.org>2014-10-30 22:43:16 +0000
committerVincent Sanders <vince@kyllikki.org>2014-10-30 22:52:54 +0000
commit1620f20c4d1e13b05f108407508653841d4887eb (patch)
tree6187310a69bef4937bd830f31ede32e4c0096a95
parent07376fc96bfe4f0670bef625295d460865ee114f (diff)
downloadnetsurf-1620f20c4d1e13b05f108407508653841d4887eb.tar.gz
netsurf-1620f20c4d1e13b05f108407508653841d4887eb.tar.bz2
make global history treeview callback return error
returns an error instead of directly waning the user.
-rw-r--r--desktop/global_history.c18
-rw-r--r--desktop/treeview.c5
2 files changed, 11 insertions, 12 deletions
diff --git a/desktop/global_history.c b/desktop/global_history.c
index 7d679e5a2..aaf4239ad 100644
--- a/desktop/global_history.c
+++ b/desktop/global_history.c
@@ -661,10 +661,12 @@ static nserror global_history_tree_node_folder_cb(
return NSERROR_OK;
}
-static nserror global_history_tree_node_entry_cb(
- struct treeview_node_msg msg, void *data)
+
+static nserror
+global_history_tree_node_entry_cb(struct treeview_node_msg msg, void *data)
{
struct global_history_entry *e = data;
+ nserror ret = NSERROR_OK;
switch (msg.msg) {
case TREE_MSG_NODE_DELETE:
@@ -678,10 +680,8 @@ static nserror global_history_tree_node_entry_cb(
case TREE_MSG_NODE_LAUNCH:
{
- nserror error;
struct browser_window *existing = NULL;
- enum browser_window_create_flags flags =
- BW_CREATE_HISTORY;
+ enum browser_window_create_flags flags = BW_CREATE_HISTORY;
/* TODO: Set existing to window that new tab appears in */
@@ -693,16 +693,14 @@ static nserror global_history_tree_node_entry_cb(
/* TODO: flags ^= BW_CREATE_TAB; */
}
- error = browser_window_create(flags, e->url, NULL,
+ ret = browser_window_create(flags, e->url, NULL,
existing, NULL);
- if (error != NSERROR_OK) {
- warn_user(messages_get_errorcode(error), 0);
- }
}
break;
}
- return NSERROR_OK;
+ return ret;
}
+
struct treeview_callback_table gh_tree_cb_t = {
.folder = global_history_tree_node_folder_cb,
.entry = global_history_tree_node_entry_cb
diff --git a/desktop/treeview.c b/desktop/treeview.c
index 820eb5c10..fd035571e 100644
--- a/desktop/treeview.c
+++ b/desktop/treeview.c
@@ -2402,6 +2402,7 @@ static nserror treeview_node_launch_walk_fwd_cb(treeview_node *n, void *ctx,
bool *skip_children, bool *end)
{
struct treeview_launch_walk_data *lw = ctx;
+ nserror ret = NSERROR_OK;
if (n->type == TREE_NODE_FOLDER && n->flags & TV_NFLAGS_SELECTED) {
lw->selected_depth++;
@@ -2412,10 +2413,10 @@ static nserror treeview_node_launch_walk_fwd_cb(treeview_node *n, void *ctx,
struct treeview_node_msg msg;
msg.msg = TREE_MSG_NODE_LAUNCH;
msg.data.node_launch.mouse = BROWSER_MOUSE_HOVER;
- lw->tree->callbacks->entry(msg, n->client_data);
+ ret = lw->tree->callbacks->entry(msg, n->client_data);
}
- return NSERROR_OK;
+ return ret;
}
/**
* Launch a selection.