--- blockreference.module	Sat Sep 12 20:52:26 2009
+++ blockreference.module	Mon Dec 14 10:14:23 2009
@@ -252,7 +252,7 @@
     'blockreference_select' => array(
       'label' => t('Select list'),
       'field types' => array('blockreference'),
-      'multiple values' => CONTENT_HANDLE_MODULE,
+      'multiple values' => CONTENT_HANDLE_CORE,//CONTENT_HANDLE_MODULE,
       'callbacks' => array(
         'default value' => CONTENT_CALLBACK_DEFAULT,
       ),
@@ -379,11 +379,14 @@
   // The blockreference_select widget doesn't need to create its own
   // element, it can wrap around the optionwidgets_select element.
   // Add a validation step where the value can be unwrapped.
+  $field = $form['#field_info'][$element['#field_name']];
   $field_key  = $element['#columns'][0];
   $element[$field_key] = array(
-    '#type' => 'optionwidgets_select',
-    '#default_value' => isset($element['#value']) ? $element['#value'] : '',
-    '#element_validate' => array('optionwidgets_validate', 'blockreference_select_validate'),
+    '#type' => 'select',
+    '#options' => blockreference_allowed_values($field),
+    '#multiple' => 0,
+    '#default_value' => isset($element['#value'][$element['#parents'][1]]) ? $element['#value'][$element['#parents'][1]] : '',
+    '#element_validate' => array('blockreference_select_validate'),
 
     // The following values were set by the content module and need
     // to be passed down to the nested element.
@@ -437,18 +440,7 @@
  * through the element until we get to our key.
  */
 function blockreference_select_validate($element, &$form_state) {
-  $field_key = $element['#columns'][0];
-  $new_parents = array();
-  $value = $form_state['values'];
-  foreach ($element['#parents'] as $parent) {
-    $value = $value[$parent];
-    if ($parent == $field_key) {
-      $element['#parents'] = $new_parents;
-      form_set_value($element, $value, $form_state);    
-      break;
-    }
-    $new_parents[] = $parent;
-  }
+
 }
 
 /**
