Index: form.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/form.inc,v retrieving revision 1.190 diff -u -p -r1.190 form.inc --- form.inc 24 Apr 2007 13:53:10 -0000 1.190 +++ form.inc 27 Apr 2007 02:24:25 -0000 @@ -686,7 +686,7 @@ function form_builder($form_id, $form) { if (!$form['#programmed'] || isset($edit)) { switch ($form['#type']) { case 'checkbox': - $form['#value'] = !empty($edit) ? $form['#return_value'] : 0; + $form['#value'] = !empty($edit) ? $form['#return_value'] : NULL; break; case 'select': @@ -733,7 +733,7 @@ function form_builder($form_id, $form) { $function($form); } else { - $form['#value'] = isset($form['#default_value']) ? $form['#default_value'] : ''; + $form['#value'] = isset($form['#default_value']) ? $form['#default_value'] : NULL; } } } @@ -1308,7 +1308,7 @@ function theme_checkbox($element) { $checkbox .= 'name="'. $element['#name'] .'" '; $checkbox .= 'id="'. $element['#id'] .'" ' ; $checkbox .= 'value="'. $element['#return_value'] .'" '; - $checkbox .= $element['#value'] ? ' checked="checked" ' : ' '; + $checkbox .= isset($element['#value']) ? ' checked="checked" ' : ' '; $checkbox .= drupal_attributes($element['#attributes']) .' />'; if (!is_null($element['#title'])) { @@ -1351,7 +1351,7 @@ function expand_checkboxes($element) { } foreach ($element['#options'] as $key => $choice) { if (!isset($element[$key])) { - $element[$key] = array('#type' => 'checkbox', '#processed' => TRUE, '#title' => $choice, '#return_value' => $key, '#default_value' => isset($value[$key]), '#attributes' => $element['#attributes']); + $element[$key] = array('#type' => 'checkbox', '#processed' => TRUE, '#title' => $choice, '#return_value' => $key, '#default_value' => isset($value[$key]) ? $value[$key] : NULL, '#attributes' => $element['#attributes']); } } }