From 18b12f845dd15ed0dc1b8332765d0b81c1e3b46d Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Fri, 24 Oct 2025 04:22:52 -0700 Subject: [PATCH] [select] Store options in flash to reduce RAM usage --- esphome/components/lvgl/select/lvgl_select.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) 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_;