From 43eb5cd640f5943c27a81512d7d2c51175742fb4 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Fri, 10 Sep 2010 13:08:05 +0000 Subject: Fix GTK redraw artifacts with non html content svn path=/trunk/netsurf/; revision=10753 --- gtk/gtk_scaffolding.c | 5 +++++ gtk/gtk_thumbnail.c | 2 ++ gtk/gtk_window.c | 5 +++++ 3 files changed, 12 insertions(+) (limited to 'gtk') 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, -- cgit v1.2.3