summaryrefslogtreecommitdiff
path: root/desktop
diff options
context:
space:
mode:
authorJames Bursa <james@netsurf-browser.org>2005-01-13 22:42:39 +0000
committerJames Bursa <james@netsurf-browser.org>2005-01-13 22:42:39 +0000
commitf0b264670e57d1eefd6f7e297b87cedf38d8be9a (patch)
treea9f2680f01e5cb9dab890b83ce05954a87bc8793 /desktop
parenta76404dfd076925eebeb8166f588e0d5e7a9fdd3 (diff)
downloadnetsurf-f0b264670e57d1eefd6f7e297b87cedf38d8be9a.tar.gz
netsurf-f0b264670e57d1eefd6f7e297b87cedf38d8be9a.tar.bz2
[project @ 2005-01-13 22:42:38 by bursa]
Start on theme auto-install. Fix content_add_user() not to broadcast error on memory exhaustion. svn path=/import/netsurf/; revision=1448
Diffstat (limited to 'desktop')
-rw-r--r--desktop/browser.c12
-rw-r--r--desktop/browser.h5
2 files changed, 15 insertions, 2 deletions
diff --git a/desktop/browser.c b/desktop/browser.c
index 734fde5ae..fc96df12f 100644
--- a/desktop/browser.c
+++ b/desktop/browser.c
@@ -241,6 +241,15 @@ void browser_window_callback(content_msg msg, struct content *c,
if (c->type == CONTENT_OTHER)
browser_window_convert_to_download(bw);
+#ifdef WITH_THEME_INSTALL
+ else if (c->type == CONTENT_THEME) {
+ theme_install_start(c);
+ bw->loading_content = 0;
+ content_remove_user(c, browser_window_callback,
+ bw, 0);
+ browser_window_stop_throbber(bw);
+ }
+#endif
else
gui_window_set_url(bw->window, c->url);
break;
@@ -297,7 +306,7 @@ void browser_window_callback(content_msg msg, struct content *c,
bw->scrolling_box = NULL;
}
browser_window_stop_throbber(bw);
- free (bw->referer);
+ free(bw->referer);
bw->referer = 0;
break;
@@ -1087,7 +1096,6 @@ void browser_redraw_box(struct content *c, struct box *box)
data.redraw.object_height = c->height;
content_broadcast(c, CONTENT_MSG_REDRAW, data);
-
}
diff --git a/desktop/browser.h b/desktop/browser.h
index 2a2776411..a39f78461 100644
--- a/desktop/browser.h
+++ b/desktop/browser.h
@@ -123,4 +123,9 @@ void schedule(int t, void (*callback)(void *p), void *p);
void schedule_remove(void (*callback)(void *p), void *p);
void schedule_run(void);
+/* In platform specific theme_install.c. */
+#ifdef WITH_THEME_INSTALL
+void theme_install_start(struct content *c);
+#endif
+
#endif