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

Reply via email to