Skip to content

Panic : ClipMask::set_path (debug_assert!) #51

Open
@Wardenfar

Description

@Wardenfar

The code below panics.
Latest version : tiny-skia = "0.6.6"

The panic come from the a debug_assert! in src/scan/path.rs

use tiny_skia::*;

fn main() {
    // special value
    let v = -6.40969;

    let clip_path = {
        let mut pb = PathBuilder::new();
        pb.push_circle(v, v, v);
        // special values
        pb.push_circle(823811.0, v, 824467.0);
        pb.finish().unwrap()
    };

    // special values
    let clip_path = clip_path.transform(Transform::from_row(v, 824060.0, 0.0, 0.0, 0.0, 0.0)).unwrap();

    let mut clip_mask = ClipMask::new();
    // panic here
    clip_mask.set_path(500, 500, &clip_path, FillRule::EvenOdd, true);
}

Stacktrace :

thread 'main' panicked at 'assertion failed: edges[curr_idx].last_y >= curr_y as i32', ~/.cargo/registry/src/github.com-1ecc6299db9ec823/tiny-skia-0.6.6/src/scan/path.rs:178:13
stack backtrace:
   0: rust_begin_unwind
             at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e/library/std/src/panicking.rs:584:5
   1: core::panicking::panic_fmt
             at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e/library/core/src/panicking.rs:143:14
   2: core::panicking::panic
             at /rustc/fe5b13d681f25ee6474be29d748c65adcd91f69e/library/core/src/panicking.rs:48:5
   3: tiny_skia::scan::path::walk_edges
             at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/tiny-skia-0.6.6/src/scan/path.rs:178:13
   4: tiny_skia::scan::path::fill_path_impl
             at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/tiny-skia-0.6.6/src/scan/path.rs:155:5
   5: tiny_skia::scan::path_aa::fill_path_impl
             at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/tiny-skia-0.6.6/src/scan/path_aa.rs:106:5
   6: tiny_skia::scan::path_aa::fill_path
             at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/tiny-skia-0.6.6/src/scan/path_aa.rs:62:5
   7: tiny_skia::clip::ClipMask::set_path
             at ~/.cargo/registry/src/github.com-1ecc6299db9ec823/tiny-skia-0.6.6/src/clip.rs:94:13

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions