[mutter] screen-cast: Fix window recording on HiDPI



commit e89cea8e5a9c944919cc0632b88bd68432778806
Author: Pascal Nowack <Pascal Nowack gmx de>
Date:   Mon Dec 16 19:00:19 2019 +0100

    screen-cast: Fix window recording on HiDPI
    
    Using the same scale for the window as the
    logical monitor only works correctly when having
    the experimental 'scale-monitor-framebuffer'
    feature enabled.
    Without this experimental feature, the stream
    will contain a black screen, where the actual
    window only takes a small part of it.
    
    Therefore, use a scale of 1 for the non-
    experimental case.
    
    Patch is based on commit 3fa6a92cc5dda6ab3939c3e982185f6caf453360.
    
    https://gitlab.gnome.org/GNOME/mutter/merge_requests/976

 src/backends/meta-screen-cast-window-stream.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
---
diff --git a/src/backends/meta-screen-cast-window-stream.c b/src/backends/meta-screen-cast-window-stream.c
index 05939cb1d..493a0b3f4 100644
--- a/src/backends/meta-screen-cast-window-stream.c
+++ b/src/backends/meta-screen-cast-window-stream.c
@@ -225,11 +225,15 @@ meta_screen_cast_window_stream_initable_init (GInitable     *initable,
                               G_CALLBACK (on_window_unmanaged),
                               window_stream);
 
+  if (meta_is_stage_views_scaled ())
+    scale = (int) ceilf (meta_logical_monitor_get_scale (logical_monitor));
+  else
+    scale = 1;
+
   /* We cannot set the stream size to the exact size of the window, because
    * windows can be resized, whereas streams cannot.
    * So we set a size equals to the size of the logical monitor for the window.
    */
-  scale = (int) ceil (meta_logical_monitor_get_scale (logical_monitor));
   window_stream->logical_width = logical_monitor->rect.width;
   window_stream->logical_height = logical_monitor->rect.height;
   window_stream->stream_width = logical_monitor->rect.width * scale;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]