{
anIter.Value()->Release (this);
}
+
+ // release delayed resources added during deletion of shared resources
+ while (!myUnusedResources->IsEmpty())
+ {
+ myUnusedResources->First()->Release (this);
+ myUnusedResources->RemoveFirst();
+ }
}
else
{
mySharedResources->Clear();
myShaderManager->clear();
myShaderManager->SetContext (NULL);
+
+ // release delayed resources added during deletion of shared resources
+ while (!myUnusedResources->IsEmpty())
+ {
+ myUnusedResources->First()->Release (this);
+ myUnusedResources->RemoveFirst();
+ }
}
// =======================================================================