diff options
author | Xavier Claessens <xavier.claessens@collabora.com> | 2022-06-14 09:01:04 -0400 |
---|---|---|
committer | Eli Schwartz <eschwartz93@gmail.com> | 2022-06-14 16:01:20 -0400 |
commit | d85a9733e6af45c9e3111f23ecec9e614eaeaeeb (patch) | |
tree | e87cb782752a2ab8af84986f2ef47787d628ff48 /mesonbuild/interpreter | |
parent | e559ea0b7c96f2436d82ed9f94fe78d7c2aaef1d (diff) | |
download | meson-d85a9733e6af45c9e3111f23ecec9e614eaeaeeb.zip meson-d85a9733e6af45c9e3111f23ecec9e614eaeaeeb.tar.gz meson-d85a9733e6af45c9e3111f23ecec9e614eaeaeeb.tar.bz2 |
Fix crash when a reconfigure adds a new subproject
When a subproject is disabled on the initial configuration we should not
add it into self.coredata.initialized_subprojects because that will
prevent calling self.coredata.init_builtins() on a reconfigure if the
subproject gets enabled.
Fixes: #10225.
Diffstat (limited to 'mesonbuild/interpreter')
-rw-r--r-- | mesonbuild/interpreter/interpreter.py | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/mesonbuild/interpreter/interpreter.py b/mesonbuild/interpreter/interpreter.py index ee7260a..3bf9b42 100644 --- a/mesonbuild/interpreter/interpreter.py +++ b/mesonbuild/interpreter/interpreter.py @@ -855,7 +855,6 @@ class Interpreter(InterpreterBase, HoldableObject): sub = SubprojectHolder(NullSubprojectInterpreter(), os.path.join(self.subproject_dir, subp_name), disabled_feature=disabled_feature, exception=exception) self.subprojects[subp_name] = sub - self.coredata.initialized_subprojects.add(subp_name) return sub def do_subproject(self, subp_name: str, method: Literal['meson', 'cmake'], kwargs: kwargs.DoSubproject) -> SubprojectHolder: @@ -979,7 +978,6 @@ class Interpreter(InterpreterBase, HoldableObject): self.build_def_files.update(subi.build_def_files) self.build.merge(subi.build) self.build.subprojects[subp_name] = subi.project_version - self.coredata.initialized_subprojects.add(subp_name) return self.subprojects[subp_name] def _do_subproject_cmake(self, subp_name: str, subdir: str, subdir_abs: str, @@ -1160,6 +1158,7 @@ class Interpreter(InterpreterBase, HoldableObject): default_options = self.project_default_options.copy() default_options.update(self.default_project_options) self.coredata.init_builtins(self.subproject) + self.coredata.initialized_subprojects.add(self.subproject) else: default_options = {} self.coredata.set_default_options(default_options, self.subproject, self.environment) |