Application crashes when shift + tab beyond the first element
dominikwilkowski opened this issue · comments
Dominik Wilkowski commented
When running the counter example you can use the tab key to move between the two active elements. When you get to the end the focus is returned to the beginning. However the app crashes when you use shift + tab to go backwards.
On macos anyway.
Backtrace below:
thread 'main' panicked at src/view.rs:574:67:
called `Option::unwrap()` on a `None` value
stack backtrace:
0: rust_begin_unwind
at /rustc/79e9716c980570bfd1f666e3b16ac583f0168962/library/std/src/panicking.rs:597:5
1: core::panicking::panic_fmt
at /rustc/79e9716c980570bfd1f666e3b16ac583f0168962/library/core/src/panicking.rs:72:14
2: core::panicking::panic
at /rustc/79e9716c980570bfd1f666e3b16ac583f0168962/library/core/src/panicking.rs:127:5
3: core::option::Option<T>::unwrap
at /rustc/79e9716c980570bfd1f666e3b16ac583f0168962/library/core/src/option.rs:935:21
4: floem::view::view_tree_previous::{{closure}}
at /Users/dominik/Sites/floem/src/view.rs:574:55
5: core::option::Option<T>::or_else
at /rustc/79e9716c980570bfd1f666e3b16ac583f0168962/library/core/src/option.rs:1514:21
6: floem::view::view_tree_previous
at /Users/dominik/Sites/floem/src/view.rs:572:5
7: floem::view::view_tab_navigation::{{closure}}
at /Users/dominik/Sites/floem/src/view.rs:490:13
8: floem::view::view_tab_navigation
at /Users/dominik/Sites/floem/src/view.rs:499:21
9: floem::window_handle::WindowHandle::event
at /Users/dominik/Sites/floem/src/window_handle.rs:214:29
10: floem::window_handle::WindowHandle::key_event
at /Users/dominik/Sites/floem/src/window_handle.rs:384:13
11: floem::app_handle::ApplicationHandle::handle_window_event
at /Users/dominik/Sites/floem/src/app_handle.rs:177:17
12: floem::app::Application::run::{{closure}}
at /Users/dominik/Sites/floem/src/app.rs:135:21
13: <winit::platform_impl::platform::app_state::EventLoopHandler<T> as winit::platform_impl::platform::app_state::EventHandler>::handle_nonuser_event::{{closure}}
at /Users/dominik/.cargo/git/checkouts/winit-1ee925e9c8358846/7608048/src/platform_impl/macos/app_state.rs:87:13
14: winit::platform_impl::platform::app_state::EventLoopHandler<T>::with_callback
at /Users/dominik/.cargo/git/checkouts/winit-1ee925e9c8358846/7608048/src/platform_impl/macos/app_state.rs:70:13
15: <winit::platform_impl::platform::app_state::EventLoopHandler<T> as winit::platform_impl::platform::app_state::EventHandler>::handle_nonuser_event
at /Users/dominik/.cargo/git/checkouts/winit-1ee925e9c8358846/7608048/src/platform_impl/macos/app_state.rs:86:9
16: winit::platform_impl::platform::app_state::Handler::handle_nonuser_event
at /Users/dominik/.cargo/git/checkouts/winit-1ee925e9c8358846/7608048/src/platform_impl/macos/app_state.rs:314:13
17: winit::platform_impl::platform::app_state::AppState::cleared
at /Users/dominik/.cargo/git/checkouts/winit-1ee925e9c8358846/7608048/src/platform_impl/macos/app_state.rs:616:21
18: winit::platform_impl::platform::observer::control_flow_end_handler::{{closure}}
at /Users/dominik/.cargo/git/checkouts/winit-1ee925e9c8358846/7608048/src/platform_impl/macos/observer.rs:79:21
19: winit::platform_impl::platform::observer::control_flow_handler::{{closure}}
at /Users/dominik/.cargo/git/checkouts/winit-1ee925e9c8358846/7608048/src/platform_impl/macos/observer.rs:41:9
20: std::panicking::try::do_call
at /rustc/79e9716c980570bfd1f666e3b16ac583f0168962/library/std/src/panicking.rs:504:40
21: ___rust_try
22: std::panicking::try
at /rustc/79e9716c980570bfd1f666e3b16ac583f0168962/library/std/src/panicking.rs:468:19
23: std::panic::catch_unwind
at /rustc/79e9716c980570bfd1f666e3b16ac583f0168962/library/std/src/panic.rs:142:14
24: winit::platform_impl::platform::event_loop::stop_app_on_panic
at /Users/dominik/.cargo/git/checkouts/winit-1ee925e9c8358846/7608048/src/platform_impl/macos/event_loop.rs:465:11
25: winit::platform_impl::platform::observer::control_flow_handler
at /Users/dominik/.cargo/git/checkouts/winit-1ee925e9c8358846/7608048/src/platform_impl/macos/observer.rs:39:5
26: winit::platform_impl::platform::observer::control_flow_end_handler
at /Users/dominik/.cargo/git/checkouts/winit-1ee925e9c8358846/7608048/src/platform_impl/macos/observer.rs:74:9
27: <unknown>
28: <unknown>
29: <unknown>
30: <unknown>
31: <unknown>
32: <unknown>
33: <unknown>
34: <unknown>
35: <unknown>
36: <unknown>
37: <() as objc2::message::MessageArguments>::__invoke
at /Users/dominik/.cargo/registry/src/index.crates.io-6f17d22bba15001f/objc2-0.4.1/src/message/mod.rs:531:39
38: objc2::message::platform::send_unverified
at /Users/dominik/.cargo/registry/src/index.crates.io-6f17d22bba15001f/objc2-0.4.1/src/message/apple/mod.rs:35:34
39: objc2::message::MessageReceiver::send_message
at /Users/dominik/.cargo/registry/src/index.crates.io-6f17d22bba15001f/objc2-0.4.1/src/message/mod.rs:233:53
40: winit::platform_impl::platform::appkit::application::NSApplication::run
at /Users/dominik/.cargo/registry/src/index.crates.io-6f17d22bba15001f/objc2-0.4.1/src/macros/__attribute_helpers.rs:126:21
41: winit::platform_impl::platform::event_loop::EventLoop<T>::run_on_demand::{{closure}}::{{closure}}
at /Users/dominik/.cargo/git/checkouts/winit-1ee925e9c8358846/7608048/src/platform_impl/macos/event_loop.rs:306:26
42: core::ops::function::FnOnce::call_once
at /rustc/79e9716c980570bfd1f666e3b16ac583f0168962/library/core/src/ops/function.rs:250:5
43: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
at /rustc/79e9716c980570bfd1f666e3b16ac583f0168962/library/core/src/panic/unwind_safe.rs:271:9
44: std::panicking::try::do_call
at /rustc/79e9716c980570bfd1f666e3b16ac583f0168962/library/std/src/panicking.rs:504:40
45: ___rust_try
46: std::panicking::try
at /rustc/79e9716c980570bfd1f666e3b16ac583f0168962/library/std/src/panicking.rs:468:19
47: std::panic::catch_unwind
at /rustc/79e9716c980570bfd1f666e3b16ac583f0168962/library/std/src/panic.rs:142:14
48: winit::platform_impl::platform::event_loop::EventLoop<T>::run_on_demand::{{closure}}
at /Users/dominik/.cargo/git/checkouts/winit-1ee925e9c8358846/7608048/src/platform_impl/macos/event_loop.rs:295:32
49: objc2::rc::autorelease::autoreleasepool
at /Users/dominik/.cargo/registry/src/index.crates.io-6f17d22bba15001f/objc2-0.4.1/src/rc/autorelease.rs:438:15
50: winit::platform_impl::platform::event_loop::EventLoop<T>::run_on_demand
at /Users/dominik/.cargo/git/checkouts/winit-1ee925e9c8358846/7608048/src/platform_impl/macos/event_loop.rs:277:9
51: winit::platform_impl::platform::event_loop::EventLoop<T>::run
at /Users/dominik/.cargo/git/checkouts/winit-1ee925e9c8358846/7608048/src/platform_impl/macos/event_loop.rs:244:9
52: winit::event_loop::EventLoop<T>::run
at /Users/dominik/.cargo/git/checkouts/winit-1ee925e9c8358846/7608048/src/event_loop.rs:249:9
53: floem::app::Application::run
at /Users/dominik/Sites/floem/src/app.rs:128:17
54: floem::app::launch
at /Users/dominik/Sites/floem/src/app.rs:27:5
55: counter::main
at ./src/main.rs:87:5
56: core::ops::function::FnOnce::call_once
at /rustc/79e9716c980570bfd1f666e3b16ac583f0168962/library/core/src/ops/function.rs:250:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
thread 'main' panicked at /Users/dominik/.cargo/git/checkouts/winit-1ee925e9c8358846/7608048/src/platform_impl/macos/app_state.rs:377:33:
called `Result::unwrap()` on an `Err` value: PoisonError { .. }
stack backtrace:
0: rust_begin_unwind
at /rustc/79e9716c980570bfd1f666e3b16ac583f0168962/library/std/src/panicking.rs:597:5
1: core::panicking::panic_fmt
at /rustc/79e9716c980570bfd1f666e3b16ac583f0168962/library/core/src/panicking.rs:72:14
2: core::result::unwrap_failed
at /rustc/79e9716c980570bfd1f666e3b16ac583f0168962/library/core/src/result.rs:1652:5
3: core::result::Result<T,E>::unwrap
at /rustc/79e9716c980570bfd1f666e3b16ac583f0168962/library/core/src/result.rs:1077:23
4: winit::platform_impl::platform::app_state::AppState::clear_callback
at /Users/dominik/.cargo/git/checkouts/winit-1ee925e9c8358846/7608048/src/platform_impl/macos/app_state.rs:377:9
5: winit::platform_impl::platform::event_loop::EventLoop<T>::run_on_demand::{{closure}}
at /Users/dominik/.cargo/git/checkouts/winit-1ee925e9c8358846/7608048/src/platform_impl/macos/event_loop.rs:325:13
6: objc2::rc::autorelease::autoreleasepool
at /Users/dominik/.cargo/registry/src/index.crates.io-6f17d22bba15001f/objc2-0.4.1/src/rc/autorelease.rs:438:15
7: winit::platform_impl::platform::event_loop::EventLoop<T>::run_on_demand
at /Users/dominik/.cargo/git/checkouts/winit-1ee925e9c8358846/7608048/src/platform_impl/macos/event_loop.rs:277:9
8: winit::platform_impl::platform::event_loop::EventLoop<T>::run
at /Users/dominik/.cargo/git/checkouts/winit-1ee925e9c8358846/7608048/src/platform_impl/macos/event_loop.rs:244:9
9: winit::event_loop::EventLoop<T>::run
at /Users/dominik/.cargo/git/checkouts/winit-1ee925e9c8358846/7608048/src/event_loop.rs:249:9
10: floem::app::Application::run
at /Users/dominik/Sites/floem/src/app.rs:128:17
11: floem::app::launch
at /Users/dominik/Sites/floem/src/app.rs:27:5
12: counter::main
at ./src/main.rs:87:5
13: core::ops::function::FnOnce::call_once
at /rustc/79e9716c980570bfd1f666e3b16ac583f0168962/library/core/src/ops/function.rs:250:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.