From bcb6d42b3f8e4aa06f794c0734c7ec87fa481c04 Mon Sep 17 00:00:00 2001
From: rennes
Date: Fri, 17 Feb 2017 19:16:36 -0600
Subject: [PATCH 1/3] gnu: wxwidgets: Fix for Filezilla client.
* 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 | 20 ++++++++++++++++++++
gnu/packages/wxwidgets.scm | 5 ++++-
3 files changed, 26 insertions(+), 2 deletions(-)
create mode 100644 gnu/packages/patches/wxwidgets-fix-windowGTK.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 060de2535..681d3fa1b 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -5,7 +5,7 @@
# Copyright © 2013, 2014, 2015, 2016 Mark H Weaver
# Copyright © 2016 Chris Marusich
# Copyright © 2016, 2017 Kei Kebreau
-# Copyright © 2016 Rene Saavedra
+# Copyright © 2016, 2017 Rene Saavedra
# Copyright © 2016 Adonay "adfeno" Felipe Nogueira
# Copyright © 2016, 2017 Ricardo Wurmus
# Copyright © 2016 Ben Woodcroft
@@ -971,6 +971,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..1c0d0704a
--- /dev/null
+++ b/gnu/packages/patches/wxwidgets-fix-windowGTK.patch
@@ -0,0 +1,20 @@
+This patch allow Filezilla client to resize window.
+The patch was adapted from upstream source repository:
+''
+
+Commit: a97553a939b76df1564ffbfe9c919d1da5a34c5a
+
+--- a/src/gtk/toplevel.cpp 2014-10-06 16:33:44.000000000 -0500
++++ b/src/gtk/toplevel.cpp 2017-02-16 21:33:27.779907810 -0600
+@@ -1216,8 +1216,9 @@
+ 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;
++ // using INT_MAX for size will lead to integer overflow with HiDPI scaling
++ 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
;;; Copyright © 2016 Theodoros Foradis
;;; Copyright © 2016 Danny Milosavljevic
+;;; Copyright © 2017 Rene Saavedra
;;;
;;; 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