diff --git a/src/app/RackWidget.cpp b/src/app/RackWidget.cpp index 6a8a27f8..37c5bdd8 100644 --- a/src/app/RackWidget.cpp +++ b/src/app/RackWidget.cpp @@ -737,11 +737,13 @@ ModuleWidget* RackWidget::getModule(int64_t moduleId) { std::vector RackWidget::getModules() { std::vector mws; + mws.reserve(internal->moduleContainer->children.size()); for (widget::Widget* w : internal->moduleContainer->children) { ModuleWidget* mw = dynamic_cast(w); assert(mw); mws.push_back(mw); } + mws.shrink_to_fit(); return mws; } @@ -817,12 +819,14 @@ int RackWidget::getNumSelectedModules() { std::vector RackWidget::getSelectedModules() { std::vector mws; + mws.reserve(internal->moduleContainer->children.size()); for (widget::Widget* w : internal->moduleContainer->children) { ModuleWidget* mw = dynamic_cast(w); assert(mw); if (mw->selected()) mws.push_back(mw); } + mws.shrink_to_fit(); return mws; } @@ -1183,12 +1187,14 @@ CableWidget* RackWidget::getCable(int64_t cableId) { std::vector RackWidget::getCompleteCables() { std::vector cws; + cws.reserve(internal->cableContainer->children.size()); for (widget::Widget* w : internal->cableContainer->children) { CableWidget* cw = dynamic_cast(w); assert(cw); if (cw->isComplete()) cws.push_back(cw); } + cws.shrink_to_fit(); return cws; }