mirror of
https://github.com/githubuser0xFFFF/Qt-Advanced-Docking-System.git
synced 2024-11-15 21:25:44 +08:00
Fix potential crash when restoring container state (#381)
This fixes a crash which could occur when restoring the state of a floating container to a non-floating container. This was because `ads::CDockContainerWidget::RestoreState()` will unconditionally assume this is floating if the XML has the `Floating` boolean set, and will dereference `floatingWidget()`. If this isn't floating, `floatingWidget()` will return `nullptr`, leading to a crash when it's subsequently used. Fixes #379.
This commit is contained in:
parent
21badd592e
commit
0df1a41a1d
@ -1680,7 +1680,10 @@ bool CDockContainerWidget::restoreState(CDockingStateReader& s, bool Testing)
|
|||||||
if (!Testing)
|
if (!Testing)
|
||||||
{
|
{
|
||||||
CFloatingDockContainer* FloatingWidget = floatingWidget();
|
CFloatingDockContainer* FloatingWidget = floatingWidget();
|
||||||
FloatingWidget->restoreGeometry(Geometry);
|
if (FloatingWidget)
|
||||||
|
{
|
||||||
|
FloatingWidget->restoreGeometry(Geometry);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user