? 931444-hs_ctools_wizard_bugfix.patch
Index: hierarchical_select.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/hierarchical_select/hierarchical_select.module,v
retrieving revision 1.195
diff -u -p -r1.195 hierarchical_select.module
--- hierarchical_select.module	19 Sep 2010 12:18:58 -0000	1.195
+++ hierarchical_select.module	4 Oct 2010 20:05:36 -0000
@@ -309,14 +309,23 @@ function hierarchical_select_json() {
   // stored parameters of the original form. For 99% of the forms, this step
   // is not necessary, but when a hierarchical_select form item is inside a
   // form in a subform_element in a form, then it is necessary.
-  $form_id = $_POST['form_id'] = $storage['parameters'][0];
+  if(is_array($storage['parameters']) && isset($storage['parameters'][0])) {
+    $form_id = $_POST['form_id'] = $storage['parameters'][0];
+  } else if (isset($_POST['form_id'])) {
+    $storage['parameters'] = array();
+    $form_id = $storage['parameters'][0] = $_POST['form_id'];
+  }
 
   if (HS_DEVELOPER_MODE) {
     _hierarchical_select_log("form_id: $form_id");
     _hierarchical_select_log("hs_form_build_id: $hs_form_build_id");
   }
 
-  $form_state = &$storage['parameters'][1];
+  if (count($storage['parameters']) == 1) {
+    $form_state = $storage['parameters'][1] = array();
+  } else {
+    $form_state = &$storage['parameters'][1];
+  }
 
   // Include the file in which the form definition function lives.
   if (!empty($storage['file'])) {
