--- xpdf-3.01/xpdf/XPDFCore.cc.resize 2005-10-06 23:40:10.000000000 +0200 +++ xpdf-3.01/xpdf/XPDFCore.cc 2005-10-06 23:40:10.000000000 +0200 @@ -979,6 +979,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; @@ -986,15 +989,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;