From a9d97b45d2b0954b34cd3b67825eec39c8a4b681 Mon Sep 17 00:00:00 2001 From: ghen Date: Tue, 20 Dec 2005 16:00:16 +0000 Subject: Fix window resizing bug, from http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=324172 Bump PKGREVISION. Ok by joerg, wiz, dillo. --- print/xpdf/Makefile | 4 ++-- print/xpdf/distinfo | 3 ++- print/xpdf/patches/patch-au | 38 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 42 insertions(+), 3 deletions(-) create mode 100644 print/xpdf/patches/patch-au (limited to 'print/xpdf') diff --git a/print/xpdf/Makefile b/print/xpdf/Makefile index 1ed7f51d13c..ecf776c9adf 100644 --- a/print/xpdf/Makefile +++ b/print/xpdf/Makefile @@ -1,8 +1,8 @@ -# $NetBSD: Makefile,v 1.45 2005/12/18 20:05:32 dillo Exp $ +# $NetBSD: Makefile,v 1.46 2005/12/20 16:00:16 ghen Exp $ DISTNAME= xpdf-3.01 PKGNAME= ${DISTNAME}pl1 -PKGREVISION= 2 +PKGREVISION= 3 CATEGORIES= print MASTER_SITES= ftp://ftp.foolabs.com/pub/xpdf/ \ ${MASTER_SITE_SUNSITE:=apps/graphics/viewers/X/xpdf/} \ diff --git a/print/xpdf/distinfo b/print/xpdf/distinfo index 0fb5247c871..986975141af 100644 --- a/print/xpdf/distinfo +++ b/print/xpdf/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.23 2005/12/18 20:05:32 dillo Exp $ +$NetBSD: distinfo,v 1.24 2005/12/20 16:00:16 ghen Exp $ SHA1 (xpdf-3.01.tar.gz) = 472cbf0f3df4e20a3ab7ada2e704b4e10d1d385b RMD160 (xpdf-3.01.tar.gz) = d734065ce12db8d0c37d9d0ac0ca7c287be59442 @@ -22,3 +22,4 @@ SHA1 (patch-am) = 794ff952c749c8dab6f575d55602cdc7e7157fef SHA1 (patch-an) = 94ea208c43f4df1ac3a9bf01cc874d488ae49a9a SHA1 (patch-ar) = f3d320991e189a21244acd31ca5cc6cfdb18bd96 SHA1 (patch-at) = 8827e22d0f3e341ed45ad92637b02a3a31f3168d +SHA1 (patch-au) = af765089ee88369da0afef534f46ec50c5cc6d4f diff --git a/print/xpdf/patches/patch-au b/print/xpdf/patches/patch-au new file mode 100644 index 00000000000..9d3c33e4a0e --- /dev/null +++ b/print/xpdf/patches/patch-au @@ -0,0 +1,38 @@ +$NetBSD: patch-au,v 1.1 2005/12/20 16:00:16 ghen Exp $ + +--- xpdf/XPDFCore.cc.orig 2005-12-20 13:30:48.000000000 +0100 ++++ xpdf/XPDFCore.cc +@@ -975,6 +975,9 @@ void XPDFCore::resizeCbk(Widget widget, + 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 @@ void XPDFCore::resizeCbk(Widget widget, + + // 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; -- cgit v1.2.3