modulemanager: load_modules_for_host(): For components, the inherited modules are the intersection of the inheritable and global modules lists, not the difference.

Wed, 10 Nov 2010 19:54:38 +0500

author
Waqas Hussain <waqas20@gmail.com>
date
Wed, 10 Nov 2010 19:54:38 +0500
changeset 3596
bbeba9f2acf8
parent 3595
ec1151d0c4a4
child 3597
8090880f0e18

modulemanager: load_modules_for_host(): For components, the inherited modules are the intersection of the inheritable and global modules lists, not the difference.

core/modulemanager.lua file | annotate | diff | comparison | revisions
--- a/core/modulemanager.lua	Wed Nov 10 18:06:51 2010 +0500
+++ b/core/modulemanager.lua	Wed Nov 10 19:54:38 2010 +0500
@@ -73,7 +73,7 @@
 	local host_modules = set.new(host_modules_enabled) - set.new(host_modules_disabled);
 	local global_modules = set.new(autoload_modules) + set.new(global_modules_enabled) - set.new(global_modules_disabled);
 	if component then
-		global_modules = set.new(component_inheritable_modules) - global_modules;
+		global_modules = set.intersection(set.new(component_inheritable_modules), global_modules);
 	end
 	local modules = global_modules + host_modules;
 	

mercurial