Re: [PATCH] kconfig: qconf: Fix find on split mode
From: Maxim Levitsky
Date: Sun Jun 28 2020 - 04:40:19 EST
On Thu, 2020-06-25 at 16:52 +0200, Mauro Carvalho Chehab wrote:
> The logic handling find on split mode is currently broken.
> Fix it, making it work again as expected.
I tested this patch and it works well.
There is one really small cosmetic issue:
If you select search result, and then select another search result
which happens not to update the 'menu', then both the results are
selected (that is the old one doesn't clear its selection)
Best regards,
Maxim Levitsky
>
> Reported-by: Maxim Levitsky <mlevitsk@xxxxxxxxxx>
> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@xxxxxxxxxx>
> ---
> scripts/kconfig/qconf.cc | 19 +++++++++----------
> 1 file changed, 9 insertions(+), 10 deletions(-)
>
> diff --git a/scripts/kconfig/qconf.cc b/scripts/kconfig/qconf.cc
> index c0ac8f7b5f1a..b8f577c6e8aa 100644
> --- a/scripts/kconfig/qconf.cc
> +++ b/scripts/kconfig/qconf.cc
> @@ -1645,22 +1645,21 @@ void ConfigMainWindow::setMenuLink(struct menu *menu)
> return;
> list->setRootMenu(parent);
> break;
> - case symbolMode:
> + case menuMode:
> if (menu->flags & MENU_ROOT) {
> - configList->setRootMenu(menu);
> + menuList->setRootMenu(menu);
> configList->clearSelection();
> - list = menuList;
> - } else {
> list = configList;
> + } else {
> + configList->setRootMenu(menu);
> + configList->clearSelection();
> +
> parent = menu_get_parent_menu(menu->parent);
> if (!parent)
> return;
> - item = menuList->findConfigItem(parent);
> - if (item) {
> - item->setSelected(true);
> - menuList->scrollToItem(item);
> - }
> - list->setRootMenu(parent);
> + menuList->setRootMenu(parent);
> +
> + list = menuList;
> }
> break;
> case fullMode: