BUGFIX: Prevent infinite recursion in certain object instantiation cases

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@78253 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
Sam Minnee 2009-06-02 06:08:46 +00:00
parent 4b78089e6a
commit c542ec0de9

View File

@ -196,8 +196,7 @@ class DataObject extends ViewableData implements DataObjectInterface, i18nEntity
$fields = Object::uninherited_static($class, 'db');
// Remove CompositeDBField instances, and replace with the actually used fields
if($fields) foreach($fields as $fieldName => $fieldSpec) {
$fieldClass = singleton($class)->db($fieldName);
if($fields) foreach($fields as $fieldName => $fieldClass) {
// Strip off any parameters
if(strpos('(', $fieldClass) !== FALSE) $fieldClass = substr(0,strpos('(', $fieldClass), $fieldClass);
if(ClassInfo::classImplements($fieldClass, 'CompositeDBField')) {