diff options
-rw-r--r-- | graphics/xpdf/Makefile | 1 | ||||
-rw-r--r-- | graphics/xpdf/files/patch-resize | 36 |
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; |