Bug 91054 - A certain path is recorded incorrectly with a script surface
Summary: A certain path is recorded incorrectly with a script surface
Status: RESOLVED FIXED
Alias: None
Product: cairo
Classification: Unclassified
Component: general (show other bugs)
Version: unspecified
Hardware: All All
: medium minor
Assignee: Chris Wilson
QA Contact: cairo-bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-06-22 09:18 UTC by filipp
Modified: 2015-06-26 23:31 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

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.