diff -r 15bf7259bb7c -r d8a3531bc6b8 uiacceltk/hitchcock/coretoolkit/src/huicanvasgc.cpp --- a/uiacceltk/hitchcock/coretoolkit/src/huicanvasgc.cpp Tue Feb 02 07:56:43 2010 +0200 +++ b/uiacceltk/hitchcock/coretoolkit/src/huicanvasgc.cpp Mon Feb 22 17:57:49 2010 +0200 @@ -1193,7 +1193,19 @@ // Could copy only needed rects to avoid excessive clipping iDelayedClipRegion.Copy(iClippingRegion); break; - } + } + + // both points lie outside - but the line may still intersect the region, + // so represent the line as a rect and try an intersection test... + TRect lineBoundingRect(start, end); + lineBoundingRect.Normalize(); + lineBoundingRect.iBr += TPoint(1, 1); + if (IsClipped(lineBoundingRect, iClippingRegion) != EFullyOutside) + { + iDelayedClipRegion.Copy(iClippingRegion); + vis1 = EPartialOverlap; + break; + } } } if (vis1 == EFullyOutside && vis2 == EFullyOutside)