From 356bec6e5f10b8062c17cad3bb9210daf50256cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Hejl?= Date: Fri, 29 Apr 2022 08:06:24 +0200 Subject: [PATCH] Added deallocation of wxBoxSizer into OptionsGroup::activate_line() when is not used. --- src/slic3r/GUI/OptionsGroup.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/slic3r/GUI/OptionsGroup.cpp b/src/slic3r/GUI/OptionsGroup.cpp index a861f478f3..257fe2532c 100644 --- a/src/slic3r/GUI/OptionsGroup.cpp +++ b/src/slic3r/GUI/OptionsGroup.cpp @@ -338,10 +338,12 @@ void OptionsGroup::activate_line(Line& line) wxBOTTOM | wxTOP | (option.opt.full_width ? int(wxEXPAND) : int(wxALIGN_CENTER_VERTICAL)), (wxOSX || !staticbox) ? 0 : 2); if (is_sizer_field(field)) sizer->Add(field->getSizer(), 1, (option.opt.full_width ? int(wxEXPAND) : int(wxALIGN_CENTER_VERTICAL)), 0); - } + } else + delete sizer; return; } + bool sizer_is_used = false; bool is_multioption_line = option_set.size() > 1; for (auto opt : option_set) { ConfigOptionDef option = opt.opt; @@ -356,8 +358,9 @@ void OptionsGroup::activate_line(Line& line) wxSize(sublabel_width != -1 ? sublabel_width * wxGetApp().em_unit() : -1, -1), wxALIGN_RIGHT); label->SetBackgroundStyle(wxBG_STYLE_PAINT); label->SetFont(wxGetApp().normal_font()); - sizer_tmp->Add(label, 0, wxALIGN_CENTER_VERTICAL, 0); - } + sizer_tmp->Add(label, 0, wxALIGN_CENTER_VERTICAL, 0); + sizer_is_used = true; + } // add field const Option& opt_ref = opt; @@ -412,6 +415,9 @@ void OptionsGroup::activate_line(Line& line) if (!custom_ctrl) sizer->Add(line.extra_widget_sizer, 0, wxLEFT | wxALIGN_CENTER_VERTICAL, 4); //! requires verification } + + if (custom_ctrl && !sizer_is_used) + delete sizer; } // create all controls for the option group from the m_lines