summaryrefslogtreecommitdiff
path: root/modules/system/system.admin.inc
diff options
context:
space:
mode:
Diffstat (limited to 'modules/system/system.admin.inc')
-rw-r--r--modules/system/system.admin.inc8
1 files changed, 8 insertions, 0 deletions
diff --git a/modules/system/system.admin.inc b/modules/system/system.admin.inc
index 75f3dcbe3..ef99085d8 100644
--- a/modules/system/system.admin.inc
+++ b/modules/system/system.admin.inc
@@ -576,6 +576,14 @@ function _system_is_incompatible(&$incompatible, $files, $file) {
if (isset($incompatible[$file->name])) {
return TRUE;
}
+ // The 'dependencies' key in .info files was a string in Drupal 5, but changed
+ // to an array in Drupal 6. If it is not an array, the module is not
+ // compatible and we can skip the check below which requires an array.
+ if (!is_array($file->info['dependencies'])) {
+ $file->info['dependencies'] = array();
+ $incompatible[$file->name] = TRUE;
+ return TRUE;
+ }
// Recursively traverse the dependencies, looking for incompatible modules
foreach ($file->info['dependencies'] as $dependency) {
if (isset($files[$dependency]) && _system_is_incompatible($incompatible, $files, $files[$dependency])) {