Multiple windows does not work
- Dominant language
- Rust
- Stars
- 1.8k
- Forks
- 194
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 2
Description
Opening two windows from the same application/thread displays garbage in the second window on Mac OSX. The other window seems to be fine. Closing one of the windows yields the following panic:
```
thread 'main' panicked at 'assertion failed: `(left == right)`
left: `1282`,
right: `0`', src/resource/effect.rs:94:13
stack backtrace:
0: 0x102697fef - std::sys::unix::backtrace::tracing::imp::unwind_backtrace::haab3e9e4ad6801d1
at libstd/sys/unix/backtrace/tracing/gcc_s.rs:49
1: 0x10268f8dd - std::sys_common::backtrace::print::ha116a70121383601
at libstd/sys_common/backtrace.rs:71
at libstd/sys_common/backtrace.rs:59
2: 0x10269a533 - std::panicking::default_hook::{{closure}}::h111a5999ffc43b19
at libstd/panicking.rs:211
3: 0x10269a2bc - std::panicking::default_hook::h68d40004cf0facbc
at libstd/panicking.rs:227
4: 0x10269ac07 - as core::panic::BoxMeUp>::get::h860b1aff5e2bb311
at libstd/panicking.rs:476
5: 0x10269a76c - std::panicking::continue_panic_fmt::h604d00ec956509ef
at libstd/panicking.rs:390
6: 0x10269a6c0 - std::panicking::try::do_call::ha38138adc359e978
at libstd/panicking.rs:345
7: 0x10254d217 - std::f32::::round::hc2881e8b5657e384
at src/resource/effect.rs:94
8: 0x1024ffc64 - core::ptr::drop_in_place::h647d6a1ae43d5654
at libcore/ptr.rs:194
9: 0x1024ff9e8 - core::ptr::drop_in_place::h578b8e86e19ba419
at libcore/ptr.rs:194
10: 0x1024ff877 - core::ptr::drop_in_place::h4056e9af9d83a710
at libcore/ptr.rs:194
11: 0x1024ff12d - lines::main::ha822c7efad7ef01c
at examples/lines.rs:29
12: 0x1024ff261 - std::rt::lang_start::{{closure}}::hc2aecb0095c057d6
at libstd/rt.rs:74
13: 0x10269a5d7 - std::panicking::try::do_call::ha38138adc359e978
at libstd/rt.rs:59
at libstd/panicking.rs:310
14: 0x1026a68be - panic_unwind::imp::find_eh_action::{{closure}}::hd5dfb9ab0206071d
at libpanic_unwind/lib.rs:102
15: 0x1026934dc - std::alloc::default_alloc_error_hook::hc04de1c966debfb0
at libstd/panicking.rs:289
at libstd/panic.rs:392
at libstd/rt.rs:58
16: 0x1024ff241 - std::rt::lang_start::h01f3d0a77c2cda42
at libstd/rt.rs:74
17: 0x1024ff181 - lines::main::ha822c7efad7ef01c
```
Possibly related: https://github.com/sebcrozet/kiss3d/pull/134
Example:
```rust
extern crate kiss3d;
extern crate nalgebra as na;
use na::Point3;
use kiss3d::window::Window;
use kiss3d::light::Light;
fn main() {
let mut window1 = Window::new("Kiss3d: lines");
window1.set_light(Light::StickToCamera);
let mut window2 = Window::new("Kiss3d: lines 2");
window2.set_light(Light::StickToCamera);
loop {
if !(window1.render() && window2.render()) {
break;
}
let a = Point3::new(-0.1, -0.1, 0.0);
let b = Point3::new(0.0, 0.1, 0.0);
let c = Point3::new(0.1, -0.1, 0.0);
window1.draw_line(&a, &b, &Point3::new(1.0, 0.0, 0.0));
window1.draw_line(&b, &c, &Point3::new(0.0, 1.0, 0.0));
window1.draw_line(&c, &a, &Point3::new(0.0, 0.0, 1.0));
window2.draw_line(&a, &b, &Point3::new(0.0, 1.0, 0.0));
}
}
```
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.