image_window: Don't rely on root existing
This fixes a single case of root being access from the control hide animation. Apparently it's possible that the widget is unparented from the window and unmaped but not yet unrefed? Fixes #473
This commit is contained in:
parent
0b4db9e03f
commit
5055eddda0
3 changed files with 32 additions and 15 deletions
|
|
@ -24,12 +24,28 @@ pub trait ParentWindow: WidgetExt {
|
|||
let result = self.root().and_downcast();
|
||||
|
||||
if result.is_none() {
|
||||
log::error!("Couldn't find LpWindow for {self:?}");
|
||||
log::error!(
|
||||
"Couldn't find LpWindow for {self:?}. mapped={}",
|
||||
self.is_mapped()
|
||||
);
|
||||
}
|
||||
|
||||
result.unwrap()
|
||||
}
|
||||
|
||||
fn try_window(&self) -> Option<LpWindow> {
|
||||
let result = self.root().and_downcast();
|
||||
|
||||
if result.is_none() {
|
||||
log::debug!(
|
||||
"Couldn't find LpWindow for {self:?}. mapped={}",
|
||||
self.is_mapped()
|
||||
);
|
||||
}
|
||||
|
||||
result
|
||||
}
|
||||
|
||||
fn edit_window(&self) -> LpEditWindow {
|
||||
let parent = self.parent().unwrap();
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue