diff options
author | Vincent Sanders <vince@netsurf-browser.org> | 2010-09-10 13:08:05 +0000 |
---|---|---|
committer | Vincent Sanders <vince@netsurf-browser.org> | 2010-09-10 13:08:05 +0000 |
commit | 43eb5cd640f5943c27a81512d7d2c51175742fb4 (patch) | |
tree | 1eb97cfb5cdc02470c5fd677ffd43f48e98efced /gtk | |
parent | 150e4d18bbb1093e483483a0c5150c36be1e81e7 (diff) | |
download | netsurf-43eb5cd640f5943c27a81512d7d2c51175742fb4.tar.gz netsurf-43eb5cd640f5943c27a81512d7d2c51175742fb4.tar.bz2 |
Fix GTK redraw artifacts with non html content
svn path=/trunk/netsurf/; revision=10753
Diffstat (limited to 'gtk')
-rw-r--r-- | gtk/gtk_scaffolding.c | 5 | ||||
-rw-r--r-- | gtk/gtk_thumbnail.c | 2 | ||||
-rw-r--r-- | gtk/gtk_window.c | 5 |
3 files changed, 12 insertions, 0 deletions
diff --git a/gtk/gtk_scaffolding.c b/gtk/gtk_scaffolding.c index 358fb7206..192a178d6 100644 --- a/gtk/gtk_scaffolding.c +++ b/gtk/gtk_scaffolding.c @@ -1373,6 +1373,11 @@ gboolean nsgtk_history_expose_event(GtkWidget *widget, plot = nsgtk_plotters; nsgtk_plot_set_scale(1.0); + plot.clip(event->area.x, + event->area.y, + event->area.x + event->area.width, + event->area.y + event->area.height); + history_redraw(bw->history); current_widget = NULL; diff --git a/gtk/gtk_thumbnail.c b/gtk/gtk_thumbnail.c index ec538da36..59727727c 100644 --- a/gtk/gtk_thumbnail.c +++ b/gtk/gtk_thumbnail.c @@ -100,6 +100,8 @@ bool thumbnail_create(hlcache_handle *content, struct bitmap *bitmap, #endif plot.rectangle(0, 0, cwidth, cwidth, plot_style_fill_white); + plot.clip(0, 0, content_get_width(content), content_get_width(content)); + /* render the content */ content_redraw(content, 0, 0, content_get_width(content), content_get_width(content), diff --git a/gtk/gtk_window.c b/gtk/gtk_window.c index d887f7027..3114b9505 100644 --- a/gtk/gtk_window.c +++ b/gtk/gtk_window.c @@ -408,6 +408,11 @@ gboolean nsgtk_window_expose_event(GtkWidget *widget, nsgtk_plot_set_scale(g->bw->scale); current_redraw_browser = g->bw; + plot.clip(event->area.x, + event->area.y, + event->area.x + event->area.width, + event->area.y + event->area.height); + content_redraw(c, 0, 0, widget->allocation.width * scale, widget->allocation.height * scale, |