Index: HexagonBase/includes/build_plugins.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/themes/hexagon/HexagonBase/includes/Attic/build_plugins.inc,v
retrieving revision 1.1.2.4
diff -u -p -r1.1.2.4 build_plugins.inc
--- HexagonBase/includes/build_plugins.inc	16 Jun 2010 23:58:13 -0000	1.1.2.4
+++ HexagonBase/includes/build_plugins.inc	25 Jun 2010 17:21:56 -0000
@@ -95,7 +95,23 @@ function _hex_build_plugins() {
     }
   }
   // Get theme enabled plug-ins.
-  $activate = array_merge($activate, hex_theme_info('plugins', array()));
+  // Name space for hex specific plugins to prevent conflicts. This cannot be
+  // mixed with the generic 'plugins' key. Use one or the other but in future
+  // versions this should always be used.
+  if ($hex_plugins = hex_theme_info('hex plugins', array())) {
+    $activate = array_merge($activate, $hex_plugins);
+  }
+  else {
+    // The plugins key can conflict with modules/themes that depend on CTools
+    // but they are always multi-dimensional. The following verifies that it's
+    // a flat array specific to hexagon's plugin switch. This should be
+    // depreicated in future revisions.
+    foreach (hex_theme_info('plugins', array()) as $i => $plugin) {
+      if (is_numeric($i) && is_string($plugin)) {
+        $activate[] = $plugin;
+      }
+    }
+  }
 
   // Get enabled plug-in's as they are defined from the active theme.
   // There is no inheritance for the state of plug-in's set from .info.
