From 1620f20c4d1e13b05f108407508653841d4887eb Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Thu, 30 Oct 2014 22:43:16 +0000 Subject: make global history treeview callback return error returns an error instead of directly waning the user. --- desktop/global_history.c | 18 ++++++++---------- desktop/treeview.c | 5 +++-- 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. -- cgit v1.2.3