aboutsummaryrefslogtreecommitdiffstats
path: root/graphics/xpdf
diff options
context:
space:
mode:
authorjkim <jkim@FreeBSD.org>2005-11-01 05:48:59 +0800
committerjkim <jkim@FreeBSD.org>2005-11-01 05:48:59 +0800
commit11efa4abe3c5af71280069da7cd0a3458036d4d7 (patch)
treeba1e16fb5b4a5f74937e6be330e5b4eea29d50e1 /graphics/xpdf
parent636031eb5ae4ec60b54f0c7266615972147deb32 (diff)
downloadfreebsd-ports-graphics-11efa4abe3c5af71280069da7cd0a3458036d4d7.tar.gz
freebsd-ports-graphics-11efa4abe3c5af71280069da7cd0a3458036d4d7.tar.zst
freebsd-ports-graphics-11efa4abe3c5af71280069da7cd0a3458036d4d7.zip
Fix window resize bug.
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=324172 Approved by: nork (maintainer) Obtained from: Debian
Diffstat (limited to 'graphics/xpdf')
-rw-r--r--graphics/xpdf/Makefile1
-rw-r--r--graphics/xpdf/files/patch-resize36
2 files changed, 37 insertions, 0 deletions
diff --git a/graphics/xpdf/Makefile b/graphics/xpdf/Makefile
index f3fc12c4b8e..04e2b486a18 100644
--- a/graphics/xpdf/Makefile
+++ b/graphics/xpdf/Makefile
@@ -7,6 +7,7 @@
PORTNAME= xpdf
PORTVERSION= 3.01
+PORTREVISION= 1
CATEGORIES= graphics print
MASTER_SITES= ftp://ftp.foolabs.com/pub/xpdf/ \
${MASTER_SITE_TEX_CTAN}
diff --git a/graphics/xpdf/files/patch-resize b/graphics/xpdf/files/patch-resize
new file mode 100644
index 00000000000..ea3168dd2cf
--- /dev/null
+++ b/graphics/xpdf/files/patch-resize
@@ -0,0 +1,36 @@
+--- xpdf/XPDFCore.cc 2005-10-10 23:33:08.000000000 +1000
++++ xpdf/XPDFCore.cc 2005-10-10 23:33:44.000000000 +1000
+@@ -975,6 +975,9 @@
+ XPDFCore *core = (XPDFCore *)ptr;
+ XEvent event;
+ Widget top;
++ Window rootWin;
++ int x1, y1;
++ Guint w1, h1, bw1, depth1;
+ Arg args[2];
+ int n;
+ Dimension w, h;
+@@ -982,15 +985,20 @@
+
+ // find the top-most widget which has an associated window, and look
+ // for a pending ConfigureNotify in the event queue -- if there is
+- // one, that means we're still resizing, and we want to skip the
+- // current event
++ // one, and it specifies a different width or height, that means
++ // we're still resizing, and we want to skip the current event
+ for (top = core->parentWidget;
+ XtParent(top) && XtWindow(XtParent(top));
+ top = XtParent(top)) ;
+ if (XCheckTypedWindowEvent(core->display, XtWindow(top),
+ ConfigureNotify, &event)) {
+ XPutBackEvent(core->display, &event);
+- return;
++ XGetGeometry(core->display, event.xconfigure.window,
++ &rootWin, &x1, &y1, &w1, &h1, &bw1, &depth1);
++ if ((Guint)event.xconfigure.width != w1 ||
++ (Guint)event.xconfigure.height != h1) {
++ return;
++ }
+ }
+
+ n = 0;