diff options
author | Michael Drake <tlsa@netsurf-browser.org> | 2011-09-17 14:35:54 +0000 |
---|---|---|
committer | Michael Drake <tlsa@netsurf-browser.org> | 2011-09-17 14:35:54 +0000 |
commit | 19daa23f947b0bef7f86877be68277d4696e40a9 (patch) | |
tree | 2a24ed2dee2565dbe4d048b1cb059f1258b514ff | |
parent | 9bb586769a947be985485fcc5e713cfedb22ef2f (diff) | |
download | netsurf-19daa23f947b0bef7f86877be68277d4696e40a9.tar.gz netsurf-19daa23f947b0bef7f86877be68277d4696e40a9.tar.bz2 |
Only lock content around its reformat call. This means it is not now locked when reformat message is broadcast. Prevents the browser window callback asking the core to redraw a content before it gets unlocked.
svn path=/trunk/netsurf/; revision=12802
-rw-r--r-- | content/content.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/content/content.c b/content/content.c index f2d06b639..7aea920a5 100644 --- a/content/content.c +++ b/content/content.c @@ -354,14 +354,16 @@ void content__reformat(struct content *c, bool background, c->status == CONTENT_STATUS_DONE); assert(c->locked == false); LOG(("%p %s", c, llcache_handle_get_url(c->llcache))); - c->locked = true; c->available_width = width; if (c->handler->reformat != NULL) { + + c->locked = true; c->handler->reformat(c, width, height); + c->locked = false; + data.background = background; content_broadcast(c, CONTENT_MSG_REFORMAT, data); } - c->locked = false; } |