Bug 91054

Summary: A certain path is recorded incorrectly with a script surface
Product: cairo Reporter: filipp
Component: generalAssignee: Chris Wilson <chris>
Status: RESOLVED FIXED QA Contact: cairo-bugs mailing list <cairo-bugs>
Severity: minor    
Priority: medium    
Version: unspecified   
Hardware: All   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description filipp 2015-06-22 09:18:41 UTC
I believe the problem is in _emit_path_boxes function that is supposed to return a status of operation, but has the following piece of code:
    if (! _cairo_path_fixed_iter_at_end (&iter)) {
	_cairo_boxes_fini (&boxes);
	return FALSE;
    }
When this return is hit, the caller assumes _emit_path_boxes succeeds and the path is recorded incorrectly as an empty rectangle list. This can be reproduced by recording a path 37.1,34 28,34 28,106.4 85.9,106.4 85.9,34 37.1,34.
Comment 1 Bryce Harrington 2015-06-26 23:31:45 UTC
commit bf4f5f3a904850f0c110ca8530b1965dc969312d
Author: Bryce Harrington <bryce@osg.samsung.com>
Date:   Fri Jun 26 16:30:06 2015 -0700

    cairo-script: Return a cairo_status_t error, not FALSE

    This typo results in certain paths being incorrectly recorded with
    script surfaces.

    Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=91054
    Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.