From b8620d1164bb6fd5a882b416fef1b3f0ef8f3c1d Mon Sep 17 00:00:00 2001 From: YuSanka Date: Thu, 4 Apr 2024 12:42:32 +0200 Subject: [PATCH] TopBar: Use RemoveChild() instead of Reparent() during of remove of buttons from TopBar. Note: Under OSX Reparent() causes a crash. [SPE-2210] --- src/slic3r/GUI/TopBar.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/slic3r/GUI/TopBar.cpp b/src/slic3r/GUI/TopBar.cpp index 0355f9fd45..d47eb7884b 100644 --- a/src/slic3r/GUI/TopBar.cpp +++ b/src/slic3r/GUI/TopBar.cpp @@ -493,7 +493,9 @@ void TopBarItemsCtrl::RemovePage(size_t n) ScalableButton* btn = m_pageButtons[n]; m_pageButtons.erase(m_pageButtons.begin() + n); m_buttons_sizer->Remove(n); - btn->Reparent(nullptr); + + // Under OSX call of btn->Reparent(nullptr) causes a crash, so as a workaround use RemoveChild() instead + this->RemoveChild(btn); btn->Destroy(); m_sizer->Layout(); }