screen-cast: Fix monitor recording on HiDPI

It scaled the logical monitor rect with scale to get the stream
dimensions, but that is only valid when having
'scale-monitor-framebuffers' enabled. Even when it was, it didn't work
properly, as clutter_stage_capture_into() doesn't work properly with
scaled monitor framebuffers yet.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/415
This commit is contained in:
Jonas Ådahl 2019-01-25 22:06:39 +01:00 committed by Carlos Garnacho
parent d5a7bbd094
commit 3fa6a92cc5

View File

@ -102,7 +102,11 @@ meta_screen_cast_monitor_stream_src_get_specs (MetaScreenCastStreamSrc *src,
logical_monitor = meta_monitor_get_logical_monitor (monitor);
mode = meta_monitor_get_current_mode (monitor);
scale = logical_monitor->scale;
if (meta_is_stage_views_scaled ())
scale = logical_monitor->scale;
else
scale = 1.0;
*width = (int) roundf (logical_monitor->rect.width * scale);
*height = (int) roundf (logical_monitor->rect.height * scale);
*frame_rate = meta_monitor_mode_get_refresh_rate (mode);