make global history treeview callback return error

returns an error instead of directly waning the user.
This commit is contained in:
Vincent Sanders 2014-10-30 22:43:16 +00:00
parent 07376fc96b
commit 1620f20c4d
2 changed files with 11 additions and 12 deletions

View File

@ -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

View File

@ -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.