Gitweb links:
...log
http://git.netsurf-browser.org/netsurf.git/shortlog/5e45c4498c0a8a24330864b3d4c68ffe891ce15e
...commit
http://git.netsurf-browser.org/netsurf.git/commit/5e45c4498c0a8a24330864b3d4c68ffe891ce15e
...tree
http://git.netsurf-browser.org/netsurf.git/tree/5e45c4498c0a8a24330864b3d4c68ffe891ce15e
The branch, master has been updated
via 5e45c4498c0a8a24330864b3d4c68ffe891ce15e (commit)
from c238325b12318803a8dcc706d7d678333f82e1c8 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commitdiff
http://git.netsurf-browser.org/netsurf.git/commit/?id=5e45c4498c0a8a24330864b3d4c68ffe891ce15e
commit 5e45c4498c0a8a24330864b3d4c68ffe891ce15e
Author: Michael Drake <[email protected]>
Commit: Michael Drake <[email protected]>
HTML: Don't allow objects to redraw until we have a layout.
diff --git a/content/handlers/html/html.c b/content/handlers/html/html.c
index bcbd438..ed48af2 100644
--- a/content/handlers/html/html.c
+++ b/content/handlers/html/html.c
@@ -1592,6 +1592,7 @@ static void html_reformat(struct content *c, int width,
int height)
selection_reinit(&htmlc->sel, htmlc->layout);
htmlc->reflowing = false;
+ htmlc->had_initial_layout = true;
/* calculate next reflow time at three times what it took to reflow */
nsu_getmonotonic_ms(&ms_after);
diff --git a/content/handlers/html/html_internal.h
b/content/handlers/html/html_internal.h
index 2ba96f0..7a8d956 100644
--- a/content/handlers/html/html_internal.h
+++ b/content/handlers/html/html_internal.h
@@ -127,6 +127,9 @@ typedef struct html_content {
/** Whether a layout (reflow) is in progress */
bool reflowing;
+ /** Whether an initial layout has been done */
+ bool had_initial_layout;
+
/** Whether scripts are enabled for this content */
bool enable_scripting;
diff --git a/content/handlers/html/html_object.c
b/content/handlers/html/html_object.c
index acd3256..37bf29f 100644
--- a/content/handlers/html/html_object.c
+++ b/content/handlers/html/html_object.c
@@ -178,6 +178,10 @@ html_object_callback(hlcache_handle *object,
box->flags & REPLACE_DIM) {
union content_msg_data data;
+ if (c->had_initial_layout == false) {
+ break;
+ }
+
if (!box_visible(box))
break;
@@ -212,6 +216,10 @@ html_object_callback(hlcache_handle *object,
if (c->base.status != CONTENT_STATUS_LOADING) {
union content_msg_data data = event->data;
+ if (c->had_initial_layout == false) {
+ break;
+ }
+
if (!box_visible(box))
break;
-----------------------------------------------------------------------
Summary of changes:
content/handlers/html/html.c | 1 +
content/handlers/html/html_internal.h | 3 +++
content/handlers/html/html_object.c | 8 ++++++++
3 files changed, 12 insertions(+)
diff --git a/content/handlers/html/html.c b/content/handlers/html/html.c
index bcbd438..ed48af2 100644
--- a/content/handlers/html/html.c
+++ b/content/handlers/html/html.c
@@ -1592,6 +1592,7 @@ static void html_reformat(struct content *c, int width,
int height)
selection_reinit(&htmlc->sel, htmlc->layout);
htmlc->reflowing = false;
+ htmlc->had_initial_layout = true;
/* calculate next reflow time at three times what it took to reflow */
nsu_getmonotonic_ms(&ms_after);
diff --git a/content/handlers/html/html_internal.h
b/content/handlers/html/html_internal.h
index 2ba96f0..7a8d956 100644
--- a/content/handlers/html/html_internal.h
+++ b/content/handlers/html/html_internal.h
@@ -127,6 +127,9 @@ typedef struct html_content {
/** Whether a layout (reflow) is in progress */
bool reflowing;
+ /** Whether an initial layout has been done */
+ bool had_initial_layout;
+
/** Whether scripts are enabled for this content */
bool enable_scripting;
diff --git a/content/handlers/html/html_object.c
b/content/handlers/html/html_object.c
index acd3256..37bf29f 100644
--- a/content/handlers/html/html_object.c
+++ b/content/handlers/html/html_object.c
@@ -178,6 +178,10 @@ html_object_callback(hlcache_handle *object,
box->flags & REPLACE_DIM) {
union content_msg_data data;
+ if (c->had_initial_layout == false) {
+ break;
+ }
+
if (!box_visible(box))
break;
@@ -212,6 +216,10 @@ html_object_callback(hlcache_handle *object,
if (c->base.status != CONTENT_STATUS_LOADING) {
union content_msg_data data = event->data;
+ if (c->had_initial_layout == false) {
+ break;
+ }
+
if (!box_visible(box))
break;
--
NetSurf Browser
_______________________________________________
netsurf-commits mailing list
[email protected]
http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/netsurf-commits-netsurf-browser.org