mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-07 12:32:26 +00:00
Consider required modules when checking for layout definitions in modules
Fixes: #11156.
This commit is contained in:
parent
a3868e40a4
commit
8b4c76fb24
@ -386,13 +386,25 @@ bool checkModule(string const & name, bool command)
|
|||||||
add = true;
|
add = true;
|
||||||
}
|
}
|
||||||
if (add) {
|
if (add) {
|
||||||
FileName layout_file = libFileSearch("layouts", module, "module");
|
vector<string> v;
|
||||||
if (textclass.read(layout_file, TextClass::MODULE)) {
|
LayoutModuleList mods;
|
||||||
used_modules.push_back(module);
|
// addModule is necessary in order to catch required modules
|
||||||
// speed up further searches:
|
// as well (see #11156)
|
||||||
// the module does not need to be checked anymore.
|
if (!addModule(module, baseClass, mods, v))
|
||||||
modules.erase(it);
|
return false;
|
||||||
return true;
|
for (auto const & mod : mods) {
|
||||||
|
if (!used_modules.moduleCanBeAdded(mod, &baseClass))
|
||||||
|
return false;
|
||||||
|
FileName layout_file = libFileSearch("layouts", mod, "module");
|
||||||
|
if (textclass.read(layout_file, TextClass::MODULE)) {
|
||||||
|
used_modules.push_back(mod);
|
||||||
|
// speed up further searches:
|
||||||
|
// the module does not need to be checked anymore.
|
||||||
|
ModuleMap::iterator const it = modules.find(mod);
|
||||||
|
if (it != modules.end())
|
||||||
|
modules.erase(it);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user