[Webkit-unassigned] [Bug 140303] New: [Win] Layout Test fast/canvas/canvas-path-addPath.html is failing

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Jan 9 11:56:19 PST 2015


https://bugs.webkit.org/show_bug.cgi?id=140303

            Bug ID: 140303
           Summary: [Win] Layout Test fast/canvas/canvas-path-addPath.html
                    is failing
    Classification: Unclassified
           Product: WebKit
           Version: 528+ (Nightly build)
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: Layout and Rendering
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: bfulgham at webkit.org

The following layout test is failing on Windows.

fast/canvas/canvas-path-addPath.html

Probable cause:

This is crashing because we are attempting to add a path to itself in Path::addPath. The bug is here:

void Path::addPath(const Path& path, const AffineTransform& transform)
{
    if (!path.platformPath())
        return;

    if (!transform.isInvertible())
        return;

    CGAffineTransform transformCG = transform;
    // CG doesn't allow adding a path to itself. Optimize for the common case
    // and copy the path for the self referencing case.
    if (ensurePlatformPath() != path.platformPath()) {
        CGPathAddPath(ensurePlatformPath(), &transformCG, path.platformPath());
        return;
    }
    CGPathRef pathCopy = CGPathCreateCopy(path.platformPath());
    CGPathAddPath(ensurePlatformPath(), &transformCG, path.platformPath());
    CGPathRelease(pathCopy);
}

Note that even though we are creating the pathCopy, we are not using it. Instead, we use the original path (violating the contract of the CG API).

I'm not sure why this code seems to work on Mac, but it crashes on Windows.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20150109/ceaea407/attachment-0002.html>


More information about the webkit-unassigned mailing list