diff --git a/ChangeLog b/ChangeLog index c9ee29588..bd867904c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2012-01-25 Eric Wasylishen + + * Source/NSClipView (-constrainScrollPoint:): Revert last change + until after the release. + 2012-01-24 Fred Kiefer * Source/NSSecureTextField.m: Add GSSimpleSecureGlyphGenerator and diff --git a/Source/NSClipView.m b/Source/NSClipView.m index aab326eb2..5e0a87ed4 100644 --- a/Source/NSClipView.m +++ b/Source/NSClipView.m @@ -424,10 +424,27 @@ static inline NSRect integralRect (NSRect rect, NSView *view) do the scrolling, the difference is an integer and so we can copy the image translating it by an integer in device space - and not by a float. */ + /* new = [self convertPoint: new toView: nil]; - new.x = GSRoundTowardsInfinity(new.x); - new.y = GSRoundTowardsInfinity(new.y); + new.x = (int)new.x; + new.y = (int)new.y; new = [self convertPoint: new fromView: nil]; + */ + + /* + We don't make it an integer this way anymore. + This is not needed when _copiesOnScroll is not set. + If _copiesOnScroll is set, we make sure the difference between old + position and new position is an integer so we can copy the image + easily. + FIXME: Why should this help? If the value is integral in user space this does + not mean anything in device space. + */ + if (_copiesOnScroll) + { + new.x = _bounds.origin.x + (GSRoundTowardsInfinity(new.x - _bounds.origin.x)); + new.y = _bounds.origin.y + (GSRoundTowardsInfinity(new.y - _bounds.origin.y)); + } return new; }