From ef1dfd2261f717136896b73dc96e7c3fbd72c14d Mon Sep 17 00:00:00 2001 From: Po Lu <luangruo@yahoo.com> Date: Fri, 18 Feb 2022 15:48:50 +0800 Subject: [PATCH] Fix blurry text on multiple scale monitor setups * src/pgtkterm.c (pgtk_copy_bits): Preserve window scale factor on temporary surface. (bug#54040) --- src/pgtkterm.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/pgtkterm.c b/src/pgtkterm.c index 65408801cfd..54b65ac54e4 100644 --- a/src/pgtkterm.c +++ b/src/pgtkterm.c @@ -2927,6 +2927,7 @@ pgtk_copy_bits (struct frame *f, cairo_rectangle_t *src_rect, cairo_t *cr; GdkWindow *window; cairo_surface_t *surface; /* temporary surface */ + int scale; window = gtk_widget_get_window (FRAME_GTK_WIDGET (f)); @@ -2936,6 +2937,9 @@ pgtk_copy_bits (struct frame *f, cairo_rectangle_t *src_rect, FRAME_CR_SURFACE_DESIRED_HEIGHT (f)); + scale = gtk_widget_get_scale_factor (FRAME_GTK_WIDGET (f)); + cairo_surface_set_device_scale (surface, scale, scale); + cr = cairo_create (surface); cairo_set_source_surface (cr, FRAME_CR_SURFACE (f), -src_rect->x, -src_rect->y); -- 2.39.5