Closed yeastplume closed 6 years ago
Hi, and thanks for the report!
I think I found the problem; does 1deee269707abaaa3a7683deb8c3fca42c496165 fix the crash?
Thanks for the response! I'm trying to test it, but get
the trait `cursive::view::ViewWrapper` is not implemented for `std::boxed::Box<cursive::view::AnyView>`
after updating to the latest in quite a few places that used to compile without issue
Yes, that changed recently on master. You probably just need to replace all mentions of AnyView
with View
, and it should work the same way.
Thanks... that fixed it in most places except for here:
!·!·!·!·LinearLayout::new(Orientation::Horizontal)
!·!·!·!·!·.child(Panel::new(main_menu))
!·!·!·!·!·.child(Panel::new(root_stack)),
Where main_menu is a Box < View >
error[E0277]: the trait bound `std::boxed::Box<cursive::traits::View>: cursive::view::ViewWrapper` is not satisfied
--> src/bin/tui/ui.rs:91:13
|
91 | .child(Panel::new(main_menu))
| ^^^^^^^^^^ the trait `cursive::view::ViewWrapper` is not implemented for `std::boxed::Box<cursive::traits::View>`
|
= note: required because of the requirements on the impl of `cursive::traits::View` for `std::boxed::Box<cursive::traits::View>`
= note: required by `<cursive::views::Panel<V>>::new`
Ah right. To wrap a Box<View>
in a Panel, you can use ViewBox
: it will make a View out of the Box.
Panel::new(ViewBox::new(boxed_view))
Perfect.. yes, that fixes the original mouse issue.
Thanks again for your help and quick response!
I have a menu defined as follows:
Which is wrapped in a LinearLayout and BoxView as follows:
When clicking the mouse in the area underneath the defined elements in the menu, I get the following panic (sorry for long stack dump). The original code is here:
https://github.com/mimblewimble/grin/blob/e75eef927b8bdd79b0b56209f09092d6d29d87fd/src/bin/tui/menu.rs#L26