diff --git a/ui/widgets/separate_panel.cpp b/ui/widgets/separate_panel.cpp index 92780ed..6a8b1d5 100644 --- a/ui/widgets/separate_panel.cpp +++ b/ui/widgets/separate_panel.cpp @@ -583,10 +583,17 @@ void SeparatePanel::destroyLayer() { layer = nullptr; } +RpWidget *SeparatePanel::inner() const { + return _inner.get(); +} + void SeparatePanel::showInner(base::unique_qptr inner) { Expects(!size().isEmpty()); + auto old = base::take(_inner); _inner = std::move(inner); + old = nullptr; // Make sure in old destructor inner() != old. + _inner->setParent(_body); _inner->move(0, 0); _body->sizeValue( diff --git a/ui/widgets/separate_panel.h b/ui/widgets/separate_panel.h index 655fd3e..563eead 100644 --- a/ui/widgets/separate_panel.h +++ b/ui/widgets/separate_panel.h @@ -60,6 +60,7 @@ public: void showAndActivate(); int hideGetDuration(); + [[nodiscard]] RpWidget *inner() const; void showInner(base::unique_qptr inner); void showBox( object_ptr box,