summaryrefslogtreecommitdiff
path: root/includes/form.inc
diff options
context:
space:
mode:
Diffstat (limited to 'includes/form.inc')
-rw-r--r--includes/form.inc12
1 files changed, 11 insertions, 1 deletions
diff --git a/includes/form.inc b/includes/form.inc
index b9648e236..f29d95e7d 100644
--- a/includes/form.inc
+++ b/includes/form.inc
@@ -485,7 +485,17 @@ function drupal_redirect_form($form, $redirect = NULL) {
if ($goto !== FALSE && isset($form['#redirect'])) {
$goto = $form['#redirect'];
}
- drupal_redirect(isset($goto) ? $goto : NULL);
+ if (!isset($goto) || ($goto !== FALSE)) {
+ if (isset($goto)) {
+ if (is_array($goto)) {
+ call_user_func_array('drupal_goto', $goto);
+ }
+ else {
+ drupal_goto($goto);
+ }
+ }
+ drupal_goto($_GET['q']);
+ }
}
/**