summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--includes/form.inc10
1 files changed, 4 insertions, 6 deletions
diff --git a/includes/form.inc b/includes/form.inc
index 14769c470..8c4eec84a 100644
--- a/includes/form.inc
+++ b/includes/form.inc
@@ -56,12 +56,7 @@
function drupal_get_form($form_id) {
$args = func_get_args();
$form = call_user_func_array('drupal_retrieve_form', $args);
-
- $redirect = drupal_process_form($form_id, $form);
-
- if (isset($redirect)) {
- drupal_redirect_form($form, $redirect);
- }
+ drupal_process_form($form_id, $form);
return drupal_render_form($form_id, $form);
}
@@ -129,6 +124,9 @@ function drupal_process_form($form_id, &$form) {
// In that case we accept a submission without button values.
if ((($form['#programmed']) || $form_submitted || (!$form_button_counter[0] && $form_button_counter[1])) && !form_get_errors()) {
$redirect = drupal_submit_form($form_id, $form);
+ if (!$form['#programmed']) {
+ drupal_redirect_form($form, $redirect);
+ }
}
}