summaryrefslogtreecommitdiff
path: root/modules/field/field.info.inc
diff options
context:
space:
mode:
Diffstat (limited to 'modules/field/field.info.inc')
-rw-r--r--modules/field/field.info.inc6
1 files changed, 6 insertions, 0 deletions
diff --git a/modules/field/field.info.inc b/modules/field/field.info.inc
index 5507f548d..685edd2d4 100644
--- a/modules/field/field.info.inc
+++ b/modules/field/field.info.inc
@@ -25,6 +25,7 @@
*/
function _field_info_cache_clear() {
_field_info_collate_types(TRUE);
+ drupal_static_reset('field_build_modes');
_field_info_collate_fields(TRUE);
}
@@ -263,6 +264,11 @@ function _field_info_prepare_instance($instance, $field) {
// Make sure all expected instance settings are present.
$instance['settings'] += field_info_instance_settings($field['type']);
+ // Set a default value for the instance.
+ if (field_behaviors_widget('default value', $instance) == FIELD_BEHAVIOR_DEFAULT && !isset($instance['default_value'])) {
+ $instance['default_value'] = NULL;
+ }
+
// Fallback to default widget if widget type is not available.
if (!field_info_widget_types($instance['widget']['type'])) {
$instance['widget']['type'] = $field_type['default_widget'];