summaryrefslogtreecommitdiffstats
path: root/extra/xaw3d/Xaw3d-1.5-box.c.patch
diff options
context:
space:
mode:
Diffstat (limited to 'extra/xaw3d/Xaw3d-1.5-box.c.patch')
-rwxr-xr-xextra/xaw3d/Xaw3d-1.5-box.c.patch27
1 files changed, 27 insertions, 0 deletions
diff --git a/extra/xaw3d/Xaw3d-1.5-box.c.patch b/extra/xaw3d/Xaw3d-1.5-box.c.patch
new file mode 100755
index 000000000..252238af8
--- /dev/null
+++ b/extra/xaw3d/Xaw3d-1.5-box.c.patch
@@ -0,0 +1,27 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## box.c.dpatch by Francesco Paolo Lovergine <frankie@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad xaw3d-1.5+E~/lib/Xaw3d/Box.c xaw3d-1.5+E/lib/Xaw3d/Box.c
+--- Xaw3d-1.5E/xc/lib/Xaw3d/Box.c 1996-10-15 16:41:18.000000000 +0200
++++ Xaw3d-1.5E/xc/lib/Xaw3d/Box.c 2007-04-24 15:28:39.000000000 +0200
+@@ -353,8 +353,16 @@
+ else {
+ width = preferred_width;
+ do { /* find some width big enough to stay within this height */
++#if 0
+ width *= 2;
+ if (width > constraint->width) width = constraint->width;
++#endif
++ if (width > constraint->width/2) { /* avoid short int overflow */
++ width = constraint->width;
++ }
++ else {
++ width *= 2;
++ }
+ DoLayout(w, width, 0, &preferred_width, &preferred_height, FALSE);
+ } while (preferred_height > constraint->height &&
+ width < constraint->width);