aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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;