Fix for bug #12459.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@21113 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Fred Kiefer 2005-04-16 16:27:10 +00:00
parent 47ddc6186d
commit 1a33640a5d
2 changed files with 14 additions and 20 deletions

View file

@ -1,3 +1,9 @@
2005-04-16 Fred Kiefer <FredKiefer@gmx.de>
* Source/xlib/XGGState.m
(-_compositeGState:sourcefromRect:fromRecttoPoint:toPointop:opfraction:]):
New way to compute drect. This fixes bug #12459.
2005-04-07 Fred Kiefer <FredKiefer@gmx.de>
* Source/x11/XGServerWindow.m (-iconSize): Use XFree to free

View file

@ -464,29 +464,17 @@ static Region emptyRegion;
// --- determine region to draw --------------------------------------
{
NSRect flushRect; // destination rectangle
// in View coordinates
srect = XGViewRectToX(source, fromRect);
toXPoint = XGViewPointToX(self, toPoint);
drect.x = toXPoint.x;
drect.y = toXPoint.y - srect.height;
drect.width = srect.width;
drect.height = srect.height;
flushRect.size = fromRect.size;
flushRect.origin = toPoint;
flushRect.origin = [ctm pointInMatrixSpace: flushRect.origin];
drect = XGWindowRectToX(self, flushRect);
if (source->ctm->matrix.m22 < 0) drect.y += drect.height;
toXPoint.x = drect.x;
toXPoint.y = drect.y;
srect = XGViewRectToX (source, fromRect);
clipXRectsForCopying (source_win, &srect, dest_win, &drect);
if (XGIsEmptyRect(drect))
clipXRectsForCopying(source_win, &srect, dest_win, &drect);
if (XGIsEmptyRect(drect))
return;
}
// --- get destination XImage ----------------------------------------
if (draw == dest_win->ident && dest_win->visibility < 0)