opkg_manager: do not put bad packages into package list

"bad" packages will be ignored later anyway, so to speed things
up and save memory, do not even put them into the package list.
This commit is contained in:
Stefan Seyfried
2016-01-01 22:06:02 +01:00
parent 7d268c16b9
commit 9eeeb08743

View File

@@ -396,6 +396,7 @@ void COPKGManager::updateMenu()
getPkgData(OM_LIST_INSTALLED);
getPkgData(OM_LIST_UPGRADEABLE);
for (map<string, struct pkg>::iterator it = pkg_map.begin(); it != pkg_map.end(); it++) {
/* this should no longer trigger at all */
if (badpackage(it->second.name))
continue;
it->second.forwarder->iconName_Info_right = "";
@@ -528,6 +529,7 @@ int COPKGManager::showMenu()
pkg_vec.clear();
for (map<string, struct pkg>::iterator it = pkg_map.begin(); it != pkg_map.end(); it++) {
/* this should no longer trigger at all */
if (badpackage(it->second.name))
continue;
it->second.forwarder = new CMenuForwarder(it->second.desc, true, NULL , this, it->second.name.c_str());
@@ -647,10 +649,12 @@ void COPKGManager::getPkgData(const int pkg_content_id)
continue;
switch (pkg_content_id) {
case OM_LIST: {
case OM_LIST:
/* do not even put "bad" packages into the list to save memory */
if (badpackage(name))
continue;
pkg_map[name] = pkg(name, line, line);
break;
}
case OM_LIST_INSTALLED: {
map<string, struct pkg>::iterator it = pkg_map.find(name);
if (it != pkg_map.end())