summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--desktop/options.c11
-rw-r--r--riscos/gui.c6
-rw-r--r--riscos/hotlist.c16
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);