summaryrefslogtreecommitdiff
path: root/content/content.c
diff options
context:
space:
mode:
authorJohn Mark Bell <jmb@netsurf-browser.org>2011-02-27 20:11:39 +0000
committerJohn Mark Bell <jmb@netsurf-browser.org>2011-02-27 20:11:39 +0000
commit86a2e0076d0789247a28f370d16583ee4fc87f05 (patch)
treeb3ae01afe554abbb0bc98787fef4cb0fe0be35ed /content/content.c
parentb79dcabd41b48111733dd49fd68ab65f1b97347b (diff)
downloadnetsurf-86a2e0076d0789247a28f370d16583ee4fc87f05.tar.gz
netsurf-86a2e0076d0789247a28f370d16583ee4fc87f05.tar.bz2
Fix bug #3194007: stop emitting duplicate READY/DONE events.
* Make content handlers responsible for setting READY/DONE state & emitting events. * Stop content_convert doing this when there is a registered convert function for the content type. svn path=/trunk/netsurf/; revision=11850
Diffstat (limited to 'content/content.c')
-rw-r--r--content/content.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/content/content.c b/content/content.c
index 60996f6a0..35b6a2096 100644
--- a/content/content.c
+++ b/content/content.c
@@ -686,19 +686,13 @@ void content_convert(struct content *c)
LOG(("content %s (%p)", llcache_handle_get_url(c->llcache), c));
- c->locked = true;
if (handler_map[c->type].convert) {
+ c->locked = true;
if (!handler_map[c->type].convert(c)) {
c->status = CONTENT_STATUS_ERROR;
}
+ c->locked = false;
} else {
- c->status = CONTENT_STATUS_DONE;
- }
- c->locked = false;
-
- if (c->status == CONTENT_STATUS_READY)
- content_set_ready(c);
- if (c->status == CONTENT_STATUS_DONE) {
content_set_ready(c);
content_set_done(c);
}