diff options
author | Caolán McNamara <caolanm@redhat.com> | 2016-11-24 09:51:07 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2016-11-24 09:52:04 +0000 |
commit | f9fee44d1b49d859f9ee6ab22cc34c758aac71f0 (patch) | |
tree | fccace01771d3b579ca1b11d8a3c3788182fe04c /vcl/unx/gtk3 | |
parent | c7f2115d774485a235b671c82302dbf38841e3c9 (diff) |
can have gtk >= 3.10.0 with cairo < 1.14.0
I imagine that without cairo 1.14.0 there's no point scaling, so force 1
then.
Change-Id: I0e778ed5a57f9ede9f4b78369c470b23b94fe82f
Diffstat (limited to 'vcl/unx/gtk3')
-rw-r--r-- | vcl/unx/gtk3/gtk3gtkframe.cxx | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/vcl/unx/gtk3/gtk3gtkframe.cxx b/vcl/unx/gtk3/gtk3gtkframe.cxx index 5acb139e1935..645f80076b5b 100644 --- a/vcl/unx/gtk3/gtk3gtkframe.cxx +++ b/vcl/unx/gtk3/gtk3gtkframe.cxx @@ -1576,13 +1576,19 @@ void GtkSalFrame::AllocateFrame() cairo_surface_destroy(m_pSurface); #if GTK_CHECK_VERSION(3,10,0) +#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 14, 0) int scale = getDisplay()->IsOwnHiDpiScale() ? 1 : gtk_widget_get_scale_factor(m_pWindow); +#else + int scale = 1; +#endif m_pSurface = gdk_window_create_similar_image_surface(widget_get_window(m_pWindow), CAIRO_FORMAT_ARGB32, aFrameSize.getX() * scale, aFrameSize.getY() * scale, scale); +#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 14, 0) cairo_surface_set_device_scale(m_pSurface, scale, scale); +#endif #else m_pSurface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, aFrameSize.getX(), |