diff options
author | John Mark Bell <jmb@netsurf-browser.org> | 2006-04-15 15:23:23 +0000 |
---|---|---|
committer | John Mark Bell <jmb@netsurf-browser.org> | 2006-04-15 15:23:23 +0000 |
commit | 52bdd72c715c97911bee09055acec8ea30986599 (patch) | |
tree | eaaf66f341b165de12cbf7b704e00b4ca3d8182c | |
parent | 5873160a8b72a61de0319ee789ce008a4ace403e (diff) | |
download | netsurf-52bdd72c715c97911bee09055acec8ea30986599.tar.gz netsurf-52bdd72c715c97911bee09055acec8ea30986599.tar.bz2 |
Ensure hotlist URLs are retained in the database
Reduce number of unconditional calls to urldb_get_url_data
svn path=/trunk/netsurf/; revision=2531
-rw-r--r-- | desktop/options.c | 11 | ||||
-rw-r--r-- | riscos/gui.c | 6 | ||||
-rw-r--r-- | riscos/hotlist.c | 16 |
3 files changed, 22 insertions, 11 deletions
diff --git a/desktop/options.c b/desktop/options.c index 58637f61e..2cd88d371 100644 --- a/desktop/options.c +++ b/desktop/options.c @@ -432,15 +432,20 @@ void options_load_tree_entry(xmlNode *li, struct node *directory) { } data = urldb_get_url_data(url); - if (!data) + if (!data) { /* No entry in database, so add one */ urldb_add_url(url); - - data = urldb_get_url_data(url); + /* and bump visit data */ + urldb_update_url_visit_data(url); + /* now attempt to get url data */ + data = urldb_get_url_data(url); + } if (!data) return; + if (!data->title) urldb_set_url_title(url, title); + entry = tree_create_URL_node(directory, url, data, title); xmlFree(url); xmlFree(title); diff --git a/riscos/gui.c b/riscos/gui.c index 826861789..512b7bf43 100644 --- a/riscos/gui.c +++ b/riscos/gui.c @@ -1526,9 +1526,11 @@ void ro_msg_dataload(wimp_message *message) } else if ((hotlist_tree) && ((wimp_w)hotlist_tree->handle == message->data.data_xfer.w)) { data = urldb_get_url_data(url); - if (!data) + if (!data) { urldb_add_url(url); - data = urldb_get_url_data(url); + urldb_update_url_visit_data(url); + data = urldb_get_url_data(url); + } if (data) { ro_gui_tree_get_tree_coordinates(hotlist_tree, message->data.data_xfer.pos.x, diff --git a/riscos/hotlist.c b/riscos/hotlist.c index fa67098c1..f40484929 100644 --- a/riscos/hotlist.c +++ b/riscos/hotlist.c @@ -103,10 +103,13 @@ void ro_gui_hotlist_initialise(void) { for (i = 0; i != ENTRIES_COUNT; i++) { data = urldb_get_url_data(default_entries[i].url); - if (!data) + if (!data) { urldb_add_url(default_entries[i].url); - - data = urldb_get_url_data(default_entries[i].url); + urldb_update_url_visit_data( + default_entries[i].url); + data = urldb_get_url_data( + default_entries[i].url); + } if (data) { tree_create_URL_node(node, default_entries[i].url, data, @@ -309,10 +312,11 @@ bool ro_gui_hotlist_dialog_apply(wimp_w w) { if (!node) { if (url) { data = urldb_get_url_data(url); - if (!data) + if (!data) { urldb_add_url(url); - - data = urldb_get_url_data(url); + urldb_update_url_visit_data(url); + data = urldb_get_url_data(url); + } if (!data) { free(url); free(title); |