diff options
author | Gábor Hojtsy <gabor@hojtsy.hu> | 2007-12-13 10:46:43 +0000 |
---|---|---|
committer | Gábor Hojtsy <gabor@hojtsy.hu> | 2007-12-13 10:46:43 +0000 |
commit | 050008410d34a78d93cac155476d359669a3cad7 (patch) | |
tree | d99fdabceb910603294b92b23be24c56cb62b033 /modules/system | |
parent | a64e5f38d1d662756ce9190db028773c7f90ddff (diff) | |
download | brdo-050008410d34a78d93cac155476d359669a3cad7.tar.gz brdo-050008410d34a78d93cac155476d359669a3cad7.tar.bz2 |
#194010 by chx: Proper recursive dependency checking and ordering module installation in dependency order, so later installed modules can use previously installed module functionality
Diffstat (limited to 'modules/system')
-rw-r--r-- | modules/system/system.admin.inc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/modules/system/system.admin.inc b/modules/system/system.admin.inc index 368056a2b..a81f36f3d 100644 --- a/modules/system/system.admin.inc +++ b/modules/system/system.admin.inc @@ -535,6 +535,12 @@ function system_theme_settings_submit($form, &$form_state) { * Recursively check compatability */ function _system_is_incompatible(&$incompatible, $files, $file) { + static $seen; + // We need to protect ourselves in case of a circular dependency. + if (isset($seen[$file->name])) { + return isset($incompatible[$file->name]); + } + $seen[$file->name] = TRUE; if (isset($incompatible[$file->name])) { return TRUE; } |