* gnu/packages/patches/wxwidgets-fix-windowGTK.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 3 +- gnu/packages/patches/wxwidgets-fix-windowGTK.patch | 35 ++++++++++++++++++++++ gnu/packages/wxwidgets.scm | 5 +++- 3 files changed, 41 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/wxwidgets-fix-windowGTK.patch
diff --git a/gnu/local.mk b/gnu/local.mk index 63ce3af71..d94cede10 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -5,7 +5,7 @@ # Copyright © 2013, 2014, 2015, 2016 Mark H Weaver <m...@netris.org> # Copyright © 2016 Chris Marusich <cmmarus...@gmail.com> # Copyright © 2016 Kei Kebreau <k...@openmailbox.org> -# Copyright © 2016 Rene Saavedra <ren...@openmailbox.org> +# Copyright © 2016, 2017 Rene Saavedra <ren...@openmailbox.org> # Copyright © 2016 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adf...@openmailbox.org> # Copyright © 2016, 2017 Ricardo Wurmus <rek...@elephly.net> # Copyright © 2016 Ben Woodcroft <donttrust...@gmail.com> @@ -957,6 +957,7 @@ dist_patch_DATA = \ %D%/packages/patches/wordnet-CVE-2008-2149.patch \ %D%/packages/patches/wordnet-CVE-2008-3908-pt1.patch \ %D%/packages/patches/wordnet-CVE-2008-3908-pt2.patch \ + %D%/packages/patches/wxwidgets-fix-windowGTK.patch \ %D%/packages/patches/xdotool-fix-makefile.patch \ %D%/packages/patches/xf86-video-ark-remove-mibstore.patch \ %D%/packages/patches/xf86-video-ast-remove-mibstore.patch \ diff --git a/gnu/packages/patches/wxwidgets-fix-windowGTK.patch b/gnu/packages/patches/wxwidgets-fix-windowGTK.patch new file mode 100644 index 000000000..05e2e5819 --- /dev/null +++ b/gnu/packages/patches/wxwidgets-fix-windowGTK.patch @@ -0,0 +1,35 @@ +This patch allow Filezilla client to resize window. + +Authors: Tim Kosse <tim.ko...@filezilla-project.org> +Upstream status: This issue was fixed in master branch. +Ticket: '<http://trac.wxwidgets.org/ticket/17456>' + +From 3a52125f81d28fcad5d3c841b94a3e4bad295d9e Mon Sep 17 00:00:00 2001 +From: Tim Kosse <tim.ko...@filezilla-project.org> +Date: Sun, 20 Mar 2016 10:22:13 +0100 +Subject: [PATCH] Fix wxTopLevelWindowGTK::DoSetSizeHints if a window scale +factor larger than 1 is set. + +In this case, passing INT_MAX as maximum width/height hint +to gtk_window_set_geometry_hints leads to integer overlows. + +Instead, use INT_MAX / 16 which should work with all +resonable scale factors. + +--- a/src/gtk/toplevel.cpp 2014-10-06 16:33:44.000000000 -0500 ++++ b/src/gtk/toplevel.cpp 2017-02-07 20:44:07.382988282 -0600 +@@ -1216,8 +1216,12 @@ + int hints_mask = GDK_HINT_MIN_SIZE | GDK_HINT_MAX_SIZE; + hints.min_width = 1; + hints.min_height = 1; +- hints.max_width = INT_MAX; +- hints.max_height = INT_MAX; ++ // Due to HiDPI UI scale, using INT_MAX leads to integer ++ // overflows when calculating the actual window size. ++ // Divide by 16 to to accomodate crazy high scale factors ++ // without overflowing. ++ hints.max_width = INT_MAX / 16; ++ hints.max_height = INT_MAX / 16; + const int decorSize_x = m_decorSize.left + m_decorSize.right; + const int decorSize_y = m_decorSize.top + m_decorSize.bottom; + if (minSize.x > decorSize_x) diff --git a/gnu/packages/wxwidgets.scm b/gnu/packages/wxwidgets.scm index 5285037ff..52fa8184d 100644 --- a/gnu/packages/wxwidgets.scm +++ b/gnu/packages/wxwidgets.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2016 Ricardo Wurmus <rek...@elephly.net> ;;; Copyright © 2016 Theodoros Foradis <theodoros....@openmailbox.org> ;;; Copyright © 2016 Danny Milosavljevic <dan...@scratchpost.org> +;;; Copyright © 2017 Rene Saavedra <ren...@openmailbox.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -50,7 +51,9 @@ "releases/download/v" version "/wxWidgets-" version ".tar.bz2")) (sha256 - (base32 "0paq27brw4lv8kspxh9iklpa415mxi8zc117vbbbhfjgapf7js1l")))) + (base32 "0paq27brw4lv8kspxh9iklpa415mxi8zc117vbbbhfjgapf7js1l")) + (patches (search-patches + "wxwidgets-fix-windowGTK.patch")))) (build-system glib-or-gtk-build-system) (inputs `(("glu" ,glu) -- 2.11.0