diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2017-09-10 09:28:56 +0200 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2017-09-10 09:28:56 +0200 |
commit | 739b576006baf57cb09e56636648e550bfa4378e (patch) | |
tree | 567e0908c310f7b8e3e75ea18a9250445807f525 /screen_ui.cpp | |
parent | release-request-81b48854-d0e0-49af-bcf2-857273cbb8dc-for-git_oc-mr1-release-4306444 snap-temp-L17300000097872583 (diff) | |
parent | ui: Manage menu_ with std::vector. (diff) | |
download | android_bootable_recovery-739b576006baf57cb09e56636648e550bfa4378e.tar android_bootable_recovery-739b576006baf57cb09e56636648e550bfa4378e.tar.gz android_bootable_recovery-739b576006baf57cb09e56636648e550bfa4378e.tar.bz2 android_bootable_recovery-739b576006baf57cb09e56636648e550bfa4378e.tar.lz android_bootable_recovery-739b576006baf57cb09e56636648e550bfa4378e.tar.xz android_bootable_recovery-739b576006baf57cb09e56636648e550bfa4378e.tar.zst android_bootable_recovery-739b576006baf57cb09e56636648e550bfa4378e.zip |
Diffstat (limited to '')
-rw-r--r-- | screen_ui.cpp | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/screen_ui.cpp b/screen_ui.cpp index 5c93b6672..b8f6ea28b 100644 --- a/screen_ui.cpp +++ b/screen_ui.cpp @@ -69,7 +69,7 @@ ScreenRecoveryUI::ScreenRecoveryUI() text_top_(0), show_text(false), show_text_ever(false), - menu_(nullptr), + menu_headers_(nullptr), show_menu(false), menu_items(0), menu_sel(0), @@ -356,10 +356,10 @@ void ScreenRecoveryUI::draw_screen_locked() { DrawHighlightBar(0, y - 2, gr_fb_width(), char_height_ + 4); // Bold white text for the selected item. SetColor(MENU_SEL_FG); - y += DrawTextLine(x, y, menu_[i], true); + y += DrawTextLine(x, y, menu_[i].c_str(), true); SetColor(MENU); } else { - y += DrawTextLine(x, y, menu_[i], false); + y += DrawTextLine(x, y, menu_[i].c_str(), false); } } y += DrawHorizontalRule(y); @@ -508,7 +508,6 @@ bool ScreenRecoveryUI::Init(const std::string& locale) { text_ = Alloc2d(text_rows_, text_cols_ + 1); file_viewer_text_ = Alloc2d(text_rows_, text_cols_ + 1); - menu_ = Alloc2d(text_rows_, text_cols_ + 1); text_col_ = text_row_ = 0; text_top_ = 1; @@ -771,12 +770,11 @@ void ScreenRecoveryUI::StartMenu(const char* const* headers, const char* const* pthread_mutex_lock(&updateMutex); if (text_rows_ > 0 && text_cols_ > 0) { menu_headers_ = headers; - size_t i = 0; - for (; i < text_rows_ && items[i] != nullptr; ++i) { - strncpy(menu_[i], items[i], text_cols_ - 1); - menu_[i][text_cols_ - 1] = '\0'; + menu_.clear(); + for (size_t i = 0; i < text_rows_ && items[i] != nullptr; ++i) { + menu_.emplace_back(std::string(items[i], strnlen(items[i], text_cols_ - 1))); } - menu_items = i; + menu_items = static_cast<int>(menu_.size()); show_menu = true; menu_sel = initial_selection; update_screen_locked(); |