Merge pull request #1818 from Areloch/SimGroupPrefabFixup

Fixes up some erroneous behavior with Simgroup parentage.
This commit is contained in:
Areloch 2016-11-01 12:02:03 -05:00 committed by GitHub
commit 6e735ade67
2 changed files with 25 additions and 4 deletions

View file

@ -4113,10 +4113,20 @@ void GuiTreeViewCtrl::onRenderCell(Point2I offset, Point2I cell, bool, bool )
{
if ( pGroup != NULL)
{
if (item->isExpanded())
item->mIcon = SimGroup1;
//Check if we're a SceneObject, and pick the default icon as appropriate
if (pObject->getClassName() != String("SimGroup"))
{
item->mIcon = Icon31;
}
else
item->mIcon = SimGroup2;
{
//If we're purely a SimGroup, pick our icon.
if (item->isExpanded())
item->mIcon = SimGroup1;
else
item->mIcon = SimGroup2;
}
}
else
item->mIcon = SimGroup2;

View file

@ -3631,7 +3631,18 @@ void WorldEditor::makeSelectionPrefab( const char *filename )
{
for ( S32 i = 0; i < grp->size(); i++ )
stack.push_back( grp->at(i) );
cleanup.push_back( grp );
SceneObject* scn = dynamic_cast< SceneObject* >(grp);
if (scn)
{
if (Prefab::isValidChild(obj, true))
found.push_back(obj);
}
else
{
//Only push the cleanup of the group if it's ONLY a SimGroup.
cleanup.push_back(grp);
}
}
else
{