diff options
author | Emmanuel Pacaud <emmanuel@gnome.org> | 2015-08-26 02:11:28 +0200 |
---|---|---|
committer | Emmanuel Pacaud <emmanuel@gnome.org> | 2015-08-31 21:14:07 +0200 |
commit | aea640442cfbd198e5dcd0f4155e9c7a248ff702 (patch) | |
tree | 720f232892e7453b38758085f9800745b909be57 | |
parent | b57ed1a0694bcc95c4f33535cf6c627507b09fb9 (diff) | |
download | eog-aea640442cfbd198e5dcd0f4155e9c7a248ff702.tar.gz |
EogScrollView: fix override_background deprecated call
Do the necessary background drawing in draw callback.
-rw-r--r-- | src/eog-scroll-view.c | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/src/eog-scroll-view.c b/src/eog-scroll-view.c index e54b9f7e..47ba09dd 100644 --- a/src/eog-scroll-view.c +++ b/src/eog-scroll-view.c @@ -1252,6 +1252,7 @@ eog_scroll_view_focus_out_event (GtkWidget *widget, static gboolean display_draw (GtkWidget *widget, cairo_t *cr, gpointer data) { + const GdkRGBA *background_color = NULL; EogScrollView *view; EogScrollViewPrivate *priv; GtkAllocation allocation; @@ -1275,11 +1276,23 @@ display_draw (GtkWidget *widget, cairo_t *cr, gpointer data) priv->zoom, xofs, yofs, scaled_width, scaled_height); /* Paint the background */ - cairo_set_source (cr, gdk_window_get_background_pattern (gtk_widget_get_window (priv->display))); gtk_widget_get_allocation (GTK_WIDGET (priv->display), &allocation); cairo_rectangle (cr, 0, 0, allocation.width, allocation.height); - cairo_rectangle (cr, MAX (0, xofs), MAX (0, yofs), - scaled_width, scaled_height); + if (priv->transp_style != EOG_TRANSP_BACKGROUND) + cairo_rectangle (cr, MAX (0, xofs), MAX (0, yofs), + scaled_width, scaled_height); + if (priv->override_bg_color != NULL) + background_color = priv->override_bg_color; + else if (priv->use_bg_color) + background_color = priv->background_color; + if (background_color != NULL) + cairo_set_source_rgba (cr, + background_color->red, + background_color->green, + background_color->blue, + background_color->alpha); + else + cairo_set_source (cr, gdk_window_get_background_pattern (gtk_widget_get_window (priv->display))); cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD); cairo_fill (cr); @@ -2787,16 +2800,8 @@ _eog_replace_gdk_rgba (GdkRGBA **dest, const GdkRGBA *src) static void _eog_scroll_view_update_bg_color (EogScrollView *view) { - const GdkRGBA *selected; EogScrollViewPrivate *priv = view->priv; - if (priv->override_bg_color) - selected = priv->override_bg_color; - else if (priv->use_bg_color) - selected = priv->background_color; - else - selected = NULL; - if (priv->transp_style == EOG_TRANSP_BACKGROUND && priv->background_surface != NULL) { /* Delete the SVG background to have it recreated with @@ -2805,10 +2810,7 @@ _eog_scroll_view_update_bg_color (EogScrollView *view) priv->background_surface = NULL; } - /*gtk_widget_modify_bg (GTK_WIDGET (priv->display), - GTK_STATE_NORMAL, - selected);*/ - gtk_widget_override_background_color(GTK_WIDGET (priv->display), GTK_STATE_FLAG_NORMAL, selected); + gtk_widget_queue_draw (priv->display); } void |