diff --git a/src/gui/widgets/stacked_widget.cpp b/src/gui/widgets/stacked_widget.cpp index 0a40e8532f1..38fc29c0895 100644 --- a/src/gui/widgets/stacked_widget.cpp +++ b/src/gui/widgets/stacked_widget.cpp @@ -82,14 +82,13 @@ void stacked_widget::layout_children() } } -void -stacked_widget::finalize(std::vector widget_builder) +void stacked_widget::finalize(const std::vector& widget_builders) { assert(generator_); string_map empty_data; - for(const auto & builder : widget_builder) + for(const auto & builder : widget_builders) { - generator_->create_item(-1, *builder, empty_data, nullptr); + generator_->create_item(-1, builder, empty_data, nullptr); } swap_grid(nullptr, &get_grid(), generator_, "_content_grid"); @@ -278,7 +277,7 @@ builder_stacked_widget::builder_stacked_widget(const config& real_cfg) VALIDATE(cfg.has_child("layer"), _("No stack layers defined.")); for(const auto & layer : cfg.child_range("layer")) { - stack.emplace_back(std::make_shared(layer)); + stack.emplace_back(layer); } } diff --git a/src/gui/widgets/stacked_widget.hpp b/src/gui/widgets/stacked_widget.hpp index 5a1db6e0ca5..538692bdece 100644 --- a/src/gui/widgets/stacked_widget.hpp +++ b/src/gui/widgets/stacked_widget.hpp @@ -123,7 +123,7 @@ private: * @param widget_builder The builder to build the contents of the * widget. */ - void finalize(std::vector widget_builder); + void finalize(const std::vector& widget_builders); /** * Contains a pointer to the generator. @@ -208,7 +208,7 @@ struct builder_stacked_widget : public builder_styled_widget widget* build() const; /** The builders for all layers of the stack .*/ - std::vector stack; + std::vector stack; }; } // namespace implementation