diff --git a/esphome/components/lvgl/select/lvgl_select.h b/esphome/components/lvgl/select/lvgl_select.h index 0ab28d372d..3b1fd67d68 100644 --- a/esphome/components/lvgl/select/lvgl_select.h +++ b/esphome/components/lvgl/select/lvgl_select.h @@ -57,12 +57,12 @@ class LVGLSelect : public select::Select, public Component { // Widget uses std::vector, SelectTraits uses FixedVector // Convert by extracting c_str() pointers const auto &opts = this->widget_->get_options(); - std::vector opt_ptrs; - opt_ptrs.reserve(opts.size()); - for (const auto &opt : opts) { - opt_ptrs.push_back(opt.c_str()); + FixedVector opt_ptrs; + opt_ptrs.init(opts.size()); + for (size_t i = 0; i < opts.size(); i++) { + opt_ptrs[i] = opts[i].c_str(); } - this->traits.set_options({opt_ptrs.begin(), opt_ptrs.end()}); + this->traits.set_options(opt_ptrs); } LvSelectable *widget_;