=== modified file 'includes/common.inc' --- includes/common.inc 2006-12-07 17:02:25 +0000 +++ includes/common.inc 2006-12-11 06:44:56 +0000 @@ -1999,8 +1999,10 @@ function drupal_render(&$elements) { if (isset($elements['#theme']) && empty($elements['#theme_used'])) { $elements['#theme_used'] = TRUE; - $previous_value = isset($elements['#value']) ? $elements['#value'] : NULL; - $previous_type = $elements['#type']; + $previous = array(); + foreach (array('#value', '#type', '#prefix', '#suffix') as $key) { + $previous[$key] = isset($elements[$key]) ? $elements[$key] : NULL; + } // If we rendered a single element, then we will skip the renderer. if (empty($children)) { $elements['#printed'] = TRUE; @@ -2010,11 +2012,12 @@ function drupal_render(&$elements) { } $elements['#type'] = 'markup'; + unset($elements['#prefix'], $elements['#suffix']); $content = theme($elements['#theme'], $elements); - $elements['#value'] = $previous_value; - $elements['#type'] = $previous_type; - unset($elements['#prefix'], $elements['#suffix']); + foreach (array('#value', '#type', '#prefix', '#suffix') as $key) { + $elements[$key] = isset($previous[$key]) ? $previous[$key] : NULL; + } } /* render each of the children using drupal_render and concatenate them */ if (!isset($content) || $content === '') {