GDK will only set the buffer scale for the surfaces it creates when
attaching an image or when using an egl window window. Neither will
happen for native clutter applications, thus directly set the buffer
scale from clutter in that case (so it's in sync with the rendering
scale)
Signed-off-by: Sjoerd Simons <sjoerd@luon.net>
https://bugzilla.gnome.org/show_bug.cgi?id=769190
Gbp-Pq: Name gdk-Ensure-surface-buffer-scale-is-set.patch
if (!stage_gdk->foreign_window ||
gdk_window_get_window_type (stage_gdk->window) != GDK_WINDOW_CHILD)
- return gdk_wayland_window_get_wl_surface (stage_gdk->window);
+ {
+ struct wl_surface *surface;
+
+ surface = gdk_wayland_window_get_wl_surface (stage_gdk->window);
+ wl_surface_set_buffer_scale (surface,
+ gdk_window_get_scale_factor (stage_gdk->window));
+ return surface;
+ }
if (stage_gdk->clutter_surface)
return stage_gdk->clutter_surface;