Em Thu, 25 Jun 2020 12:59:15 +0200 Mauro Carvalho Chehab <[email protected]> escreveu:
> Hi Maxim, > > Em Thu, 25 Jun 2020 12:25:10 +0300 > Maxim Levitsky <[email protected]> escreveu: > > > Hi! > > > > I noticed that on recent kernels the search function in xconfig is > > partially broken. > > This means that when you select a found entry, it is not selected in the > > main window, > > something that I often do to find some entry near the area I would like to > > modify, > > and then use main window to navigate/explore that area. > > > > Reverting these commits helps restore the original behavier: > > > > b311142fcfd37b58dfec72e040ed04949eb1ac86 - kconfig: qconf: fix support for > > the split view mode > > cce1faba82645fee899ccef5b7d3050fed3a3d10 - kconfig: qconf: fix the content > > of the main widget > > > > I have Qt5 5.13.2 from fedora 31 (5.13.2-1.fc31) > > > > Could you explain what these commits are supposed to fix? > > I mostly use the split view mode too and it does appear to work for me with > > these commits reverted as well. Btw, I did a quick hack that makes it partially work: it updates the main window, but if you seek for two items at the same window, it doesn't do the right thing. It is also not updating the split window yet. I'll try to polish and fix it if I have more time. Thanks, Mauro diff --git a/scripts/kconfig/qconf.cc b/scripts/kconfig/qconf.cc index c0ac8f7b5f1a..700731bf04b0 100644 --- a/scripts/kconfig/qconf.cc +++ b/scripts/kconfig/qconf.cc @@ -1645,12 +1645,15 @@ void ConfigMainWindow::setMenuLink(struct menu *menu) return; list->setRootMenu(parent); break; + case menuMode: case symbolMode: - if (menu->flags & MENU_ROOT) { + if (!(menu->flags & MENU_ROOT)) { +printf("Set root!\n"); configList->setRootMenu(menu); configList->clearSelection(); list = menuList; } else { +printf("config list!\n"); list = configList; parent = menu_get_parent_menu(menu->parent); if (!parent) @@ -1659,6 +1662,7 @@ void ConfigMainWindow::setMenuLink(struct menu *menu) if (item) { item->setSelected(true); menuList->scrollToItem(item); + menuList->setFocus(); } list->setRootMenu(parent); } @@ -1671,6 +1675,7 @@ void ConfigMainWindow::setMenuLink(struct menu *menu) } if (list) { +printf("findConfigItem on list mode\n"); item = list->findConfigItem(menu); if (item) { item->setSelected(true);

