diff options
author | Anders Broman <anders.broman@ericsson.com> | 2012-01-14 12:52:56 +0000 |
---|---|---|
committer | Anders Broman <anders.broman@ericsson.com> | 2012-01-14 12:52:56 +0000 |
commit | 90f12d807d408909e4542a39d9f91c0482471f28 (patch) | |
tree | 8edf485d56dccd8513d8d112aeb28a7dc1fedb96 /gtk | |
parent | 2db032c5d563491400fff66d21db4ba2654052d1 (diff) |
This seams to leave fewer graphical artefacts.
svn path=/trunk/; revision=40496
Diffstat (limited to 'gtk')
-rw-r--r-- | gtk/graph_analysis.c | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/gtk/graph_analysis.c b/gtk/graph_analysis.c index 99218a0bc0..86c5229f9e 100644 --- a/gtk/graph_analysis.c +++ b/gtk/graph_analysis.c @@ -1394,16 +1394,19 @@ static gboolean draw_area_draw(GtkWidget *widget, cairo_t *cr, gpointer data) /****************************************************************************/ static gboolean expose_event(GtkWidget *widget, GdkEventExpose *event, gpointer data) { + GtkAllocation allocation; graph_analysis_data_t *user_data = data; cairo_t *cr = gdk_cairo_create (gtk_widget_get_window(widget)); + if (gtk_widget_is_drawable(widget)){ + gtk_widget_get_allocation (widget, &allocation); #if GTK_CHECK_VERSION(2,22,0) - cairo_set_source_surface (cr, user_data->dlg.surface_main, event->area.x, event->area.y); + cairo_set_source_surface (cr, user_data->dlg.surface_main, 0, 0); #else - gdk_cairo_set_source_pixmap (cr, user_data->dlg.pixmap_main, event->area.x, event->area.y); + gdk_cairo_set_source_pixmap (cr, user_data->dlg.pixmap_main, 0, 0); #endif - cairo_rectangle (cr, event->area.x, event->area.y, event->area.width, event->area.height); + cairo_rectangle (cr, 0, 0, allocation.width, allocation.height); cairo_fill (cr); cairo_destroy (cr); @@ -1447,16 +1450,18 @@ static gboolean draw_comments(GtkWidget *widget, cairo_t *cr, gpointer data) /****************************************************************************/ static gboolean expose_event_comments(GtkWidget *widget, GdkEventExpose *event, gpointer data) { + GtkAllocation allocation; graph_analysis_data_t *user_data = data; cairo_t *cr = gdk_cairo_create (gtk_widget_get_window(widget)); if (gtk_widget_is_drawable(widget)){ + gtk_widget_get_allocation (widget, &allocation); #if GTK_CHECK_VERSION(2,22,0) - cairo_set_source_surface (cr, user_data->dlg.surface_comments, event->area.x, event->area.y); + cairo_set_source_surface (cr, user_data->dlg.surface_comments, 0, 0); #else - gdk_cairo_set_source_pixmap (cr, user_data->dlg.pixmap_comments, event->area.x, event->area.y); + gdk_cairo_set_source_pixmap (cr, user_data->dlg.pixmap_comments,0, 0); #endif - cairo_rectangle (cr, event->area.x, event->area.y, event->area.width, event->area.height); + cairo_rectangle (cr, 0, 0, allocation.width, allocation.height); cairo_fill (cr); cairo_destroy (cr); @@ -1497,16 +1502,18 @@ static gboolean draw_time(GtkWidget *widget, cairo_t *cr, gpointer data) /****************************************************************************/ static gboolean expose_event_time(GtkWidget *widget, GdkEventExpose *event, gpointer data) { + GtkAllocation allocation; graph_analysis_data_t *user_data = data; cairo_t *cr = gdk_cairo_create (gtk_widget_get_window(widget)); if (gtk_widget_is_drawable(widget) ){ + gtk_widget_get_allocation (widget, &allocation); #if GTK_CHECK_VERSION(2,22,0) - cairo_set_source_surface (cr, user_data->dlg.surface_time, event->area.x, event->area.y); + cairo_set_source_surface (cr, user_data->dlg.surface_time, 0, 0); #else - gdk_cairo_set_source_pixmap (cr, user_data->dlg.pixmap_time, event->area.x, event->area.y); + gdk_cairo_set_source_pixmap (cr, user_data->dlg.pixmap_time, 0, 0); #endif - cairo_rectangle (cr, event->area.x, event->area.y, event->area.width, event->area.height); + cairo_rectangle (cr, 0, 0, allocation.width, allocation.height); cairo_fill (cr); cairo_destroy (cr); |