summaryrefslogtreecommitdiff
path: root/includes/form.inc
diff options
context:
space:
mode:
Diffstat (limited to 'includes/form.inc')
-rw-r--r--includes/form.inc8
1 files changed, 4 insertions, 4 deletions
diff --git a/includes/form.inc b/includes/form.inc
index 12d90053d..7d5a28c6e 100644
--- a/includes/form.inc
+++ b/includes/form.inc
@@ -2161,12 +2161,12 @@ function form_state_values_clean(&$form_state) {
// $form_state['values']['foo']['bar'], which is the level where we can
// unset 'baz' (that is stored in $last_parent).
$parents = $button['#parents'];
- $values = &$form_state['values'];
$last_parent = array_pop($parents);
- foreach ($parents as $parent) {
- $values = &$values[$parent];
+ $key_exists = NULL;
+ $values = &drupal_array_get_nested_value($form_state['values'], $parents, $key_exists);
+ if ($key_exists && is_array($values)) {
+ unset($values[$last_parent]);
}
- unset($values[$last_parent]);
}
}