gtk3: replace bugzilla patch with local file.

+35 -6
+1 -6
pkgs/development/libraries/gtk/3.x.nix
··· 76 76 77 77 patches = [ 78 78 ./patches/3.0-immodules.cache.patch 79 - 80 - (fetchpatch { 81 - name = "Xft-setting-fallback-compute-DPI-properly.patch"; 82 - url = "https://bug757142.bugzilla-attachments.gnome.org/attachment.cgi?id=344123"; 83 - sha256 = "0g6fhqcv8spfy3mfmxpyji93k8d4p4q4fz1v9a1c1cgcwkz41d7p"; 84 - }) 79 + ./patches/3.0-Xft-setting-fallback-compute-DPI-properly.patch 85 80 ] ++ lib.optionals stdenv.isDarwin [ 86 81 # X11 module requires <gio/gdesktopappinfo.h> which is not installed on Darwin 87 82 # let’s drop that dependency in similar way to how other parts of the library do it
+34
pkgs/development/libraries/gtk/patches/3.0-Xft-setting-fallback-compute-DPI-properly.patch
··· 1 + From 269f2d80ea41cde17612600841fbdc32e99010f5 Mon Sep 17 00:00:00 2001 2 + From: Giuseppe Bilotta <giuseppe.bilotta@gmail.com> 3 + Date: Tue, 24 Jan 2017 12:30:08 +0100 4 + Subject: [PATCH] Xft setting fallback: compute DPI properly 5 + 6 + This is a partial revert of bdf0820c501437a2150d8ff0d5340246e713f73f. If 7 + the Xft DPI settings are not explicitly set, use the values provided by 8 + the X server rather than hard-coding the fallback value of 96. 9 + 10 + While an auto-configured Xorg already reports 96, this value can be 11 + overriden by the user, and we should respect the user choice in this 12 + case. There is no need to require them to set the same value in 13 + different places (the Xorg DPI settings and Xft.dpi). 14 + --- 15 + gdk/x11/gdkxftdefaults.c | 3 ++- 16 + 1 file changed, 2 insertions(+), 1 deletion(-) 17 + 18 + diff --git a/gdk/x11/gdkxftdefaults.c b/gdk/x11/gdkxftdefaults.c 19 + index fa1cfde2ec..c462b78c4b 100644 20 + --- a/gdk/x11/gdkxftdefaults.c 21 + +++ b/gdk/x11/gdkxftdefaults.c 22 + @@ -174,7 +174,8 @@ init_xft_settings (GdkScreen *screen) 23 + x11_screen->xft_rgba = FC_RGBA_UNKNOWN; 24 + 25 + if (!get_double_default (xdisplay, "dpi", &dpi_double)) 26 + - dpi_double = 96.0; 27 + + dpi_double = (DisplayHeight(xdisplay, x11_screen->screen_num)*25.4)/ 28 + + DisplayHeightMM(xdisplay, x11_screen->screen_num); 29 + 30 + x11_screen->xft_dpi = (int)(0.5 + PANGO_SCALE * dpi_double); 31 + } 32 + -- 33 + 2.11.0.616.gd72966cf44.dirty 34 +