diff options
Diffstat (limited to 'libs/rs/rsElement.cpp')
-rw-r--r-- | libs/rs/rsElement.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/libs/rs/rsElement.cpp b/libs/rs/rsElement.cpp index 05902f9..5dee1fb 100644 --- a/libs/rs/rsElement.cpp +++ b/libs/rs/rsElement.cpp @@ -114,6 +114,7 @@ Element *Element::createFromStream(Context *rsc, IStream *stream) Element *elem = new Element(rsc); elem->mComponent.loadFromStream(stream); elem->mBits = elem->mComponent.getBits(); + elem->mHasReference = elem->mComponent.isReference(); elem->mFieldCount = stream->loadU32(); if(elem->mFieldCount) { @@ -125,6 +126,10 @@ Element *Element::createFromStream(Context *rsc, IStream *stream) elem->mFields[ct].e.set(fieldElem); elem->mFields[ct].offsetBits = offset; offset += fieldElem->getSizeBits(); + // Check if our sub-elements have references + if(fieldElem->mHasReference) { + elem->mHasReference = true; + } } } |