Diff

core/modulemanager.lua @ 3596:bbeba9f2acf8

modulemanager: load_modules_for_host(): For components, the inherited modules are the intersection of the inheritable and global modules lists, not the difference.
author Waqas Hussain <waqas20@gmail.com>
date Wed, 10 Nov 2010 19:54:38 +0500
parent 3595:ec1151d0c4a4
child 3598:48ebea937260
line wrap: on
line diff
--- 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;