summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Keller <sebastian-keller@gmx.de>2013-07-17 02:28:14 +0200
committerFelix Riemann <friemann@gnome.org>2013-07-20 20:14:52 +0200
commita33950c14d7b8da8e1c6289709022affb910be2a (patch)
tree4097484129ba8c49f86cd30d852c2e88ad55fd04
parent101d626852c174143277effbdce4c8ddf6b56707 (diff)
downloadeog-a33950c14d7b8da8e1c6289709022affb910be2a.tar.gz
Fix svg rendering with gtk >= 3.9.2
eog was ignoring the matrix set in the cairo context which now in the new simplified drawing world is supposed to position the widget
-rw-r--r--src/eog-scroll-view.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/eog-scroll-view.c b/src/eog-scroll-view.c
index f7359524..a7c8ee96 100644
--- a/src/eog-scroll-view.c
+++ b/src/eog-scroll-view.c
@@ -1846,7 +1846,7 @@ display_draw (GtkWidget *widget, cairo_t *cr, gpointer data)
#ifdef HAVE_RSVG
if (eog_image_is_svg (view->priv->image)) {
- cairo_matrix_t matrix, translate, scale;
+ cairo_matrix_t matrix, translate, scale, original;
EogTransform *transform = eog_image_get_transform (priv->image);
cairo_matrix_init_identity (&matrix);
if (transform) {
@@ -1883,6 +1883,8 @@ display_draw (GtkWidget *widget, cairo_t *cr, gpointer data)
cairo_matrix_init_translate (&translate, xofs, yofs);
cairo_matrix_multiply (&matrix, &matrix, &translate);
+ cairo_get_matrix (cr, &original);
+ cairo_matrix_multiply (&matrix, &matrix, &original);
cairo_set_matrix (cr, &matrix);
rsvg_handle_render_cairo (eog_image_get_svg (priv->image), cr);