summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimm Bäder <mail@baedert.org>2018-02-06 09:19:02 +0100
committerTimm Bäder <mail@baedert.org>2018-02-06 09:19:40 +0100
commit0a51f389633b047888c589b59280b0503eb2d524 (patch)
tree4d2c68e12a9ba9d7b0f16f6a03f482ccc124b167
parent614c3e672125281b3ed7e0cb2160415be0105be1 (diff)
downloadgtk+-0a51f389633b047888c589b59280b0503eb2d524.tar.gz
gl renderer: Check the scale factor for every render
This way we pick up changes in the GdkWindow's scale_factor.
-rw-r--r--gsk/gl/gskglrenderer.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/gsk/gl/gskglrenderer.c b/gsk/gl/gskglrenderer.c
index b9b5805cf9..51cd61ee0e 100644
--- a/gsk/gl/gskglrenderer.c
+++ b/gsk/gl/gskglrenderer.c
@@ -1839,8 +1839,6 @@ gsk_gl_renderer_realize (GskRenderer *renderer,
{
GskGLRenderer *self = GSK_GL_RENDERER (renderer);
- self->scale_factor = gdk_window_get_scale_factor (window);
-
/* If we didn't get a GdkGLContext before realization, try creating
* one now, for our exclusive use.
*/
@@ -2509,6 +2507,7 @@ gsk_gl_renderer_render_texture (GskRenderer *renderer,
width = ceilf (viewport->size.width);
height = ceilf (viewport->size.height);
+ self->scale_factor = gdk_window_get_scale_factor (gsk_renderer_get_window (renderer));
gdk_gl_context_make_current (self->gl_context);
/* Prepare our framebuffer */
@@ -2552,6 +2551,7 @@ gsk_gl_renderer_render (GskRenderer *renderer,
if (self->gl_context == NULL)
return;
+ self->scale_factor = gdk_window_get_scale_factor (window);
gdk_gl_context_make_current (self->gl_context);
viewport.origin.x = 0;
@@ -2585,8 +2585,6 @@ gsk_gl_renderer_init (GskGLRenderer *self)
{
gsk_ensure_resources ();
-
- self->scale_factor = 1;
self->render_ops = g_array_new (FALSE, FALSE, sizeof (RenderOp));
#ifdef G_ENABLE_DEBUG