diff options
author | Daniel Silverstone <dsilvers@netsurf-browser.org> | 2006-03-26 15:11:51 +0000 |
---|---|---|
committer | Daniel Silverstone <dsilvers@netsurf-browser.org> | 2006-03-26 15:11:51 +0000 |
commit | bb6e9288dd3d2932e53591f2156f849601d0b40d (patch) | |
tree | a71dc0ce5af5145f3fbd9fb6123a53f3a7b6da1e | |
parent | 6d21c43a970f4d63cce7437830c68c55e0ab2d71 (diff) | |
download | netsurf-bb6e9288dd3d2932e53591f2156f849601d0b40d.tar.gz netsurf-bb6e9288dd3d2932e53591f2156f849601d0b40d.tar.bz2 |
[project @ 2006-03-26 15:11:51 by dsilvers]
Partial page-load progressive render for GTK frontend
svn path=/import/netsurf/; revision=2175
-rw-r--r-- | gtk/gtk_window.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/gtk/gtk_window.c b/gtk/gtk_window.c index e1a638177..5a21cd20e 100644 --- a/gtk/gtk_window.c +++ b/gtk/gtk_window.c @@ -63,6 +63,8 @@ static gboolean gui_window_button_press_event(GtkWidget *widget, static void gui_window_size_allocate_event(GtkWidget *widget, GtkAllocation *allocation, gpointer data); +static void gtk_perform_deferred_resize(void *p); + struct gui_window *gui_create_browser_window(struct browser_window *bw, struct browser_window *clone) { @@ -317,7 +319,7 @@ gboolean gui_window_configure_event(GtkWidget *widget, return FALSE; } -static void gtk_perform_deferred_resize(void *p) +void gtk_perform_deferred_resize(void *p) { struct gui_window *g = p; if (gui_in_multitask) return; @@ -326,6 +328,9 @@ static void gtk_perform_deferred_resize(void *p) g->bw->current_content->status != CONTENT_STATUS_DONE) return; content_reformat(g->bw->current_content, g->target_width, g->target_height); + if (GTK_WIDGET_SENSITIVE (g->stop_button)) { + schedule(25, gtk_perform_deferred_resize, g); + } } void gui_window_size_allocate_event(GtkWidget *widget, @@ -527,6 +532,7 @@ void gui_window_set_url(struct gui_window *g, const char *url) void gui_window_start_throbber(struct gui_window* g) { gtk_widget_set_sensitive(g->stop_button, TRUE); + schedule(25, gtk_perform_deferred_resize, g); } |