Solve Issue 1539: XML Export consistently fails as of latest alpha (build 5824)
This commit is contained in:
@@ -627,7 +627,7 @@ void LLObjectBackup::exportWorker(void *userdata)
|
|||||||
virtual bool apply(LLSelectNode* node)
|
virtual bool apply(LLSelectNode* node)
|
||||||
{
|
{
|
||||||
LLViewerObject* object = node->getObject();
|
LLViewerObject* object = node->getObject();
|
||||||
return object->getPhysicsShapeUnknown();
|
return gObjectList.gotObjectPhysicsFlags(object);
|
||||||
}
|
}
|
||||||
} func;
|
} func;
|
||||||
|
|
||||||
|
|||||||
@@ -1216,6 +1216,17 @@ void LLViewerObjectList::fetchPhysicsFlags()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool LLViewerObjectList::gotObjectPhysicsFlags(LLViewerObject* objectp)
|
||||||
|
{
|
||||||
|
// This will insert objectp in mStalePhysicsFlags if needed:
|
||||||
|
objectp->getPhysicsShapeType();
|
||||||
|
// Data has been retrieved if the object is not in either of the
|
||||||
|
// two lists:
|
||||||
|
const LLUUID& id = objectp->getID();
|
||||||
|
return mPendingPhysicsFlags.count(id) == 0 &&
|
||||||
|
mStalePhysicsFlags.count(id) == 0;
|
||||||
|
}
|
||||||
|
|
||||||
void LLViewerObjectList::clearDebugText()
|
void LLViewerObjectList::clearDebugText()
|
||||||
{
|
{
|
||||||
for (vobj_list_t::iterator iter = mObjects.begin(); iter != mObjects.end(); ++iter)
|
for (vobj_list_t::iterator iter = mObjects.begin(); iter != mObjects.end(); ++iter)
|
||||||
|
|||||||
@@ -99,6 +99,8 @@ public:
|
|||||||
void fetchObjectCosts();
|
void fetchObjectCosts();
|
||||||
void fetchPhysicsFlags();
|
void fetchPhysicsFlags();
|
||||||
|
|
||||||
|
bool gotObjectPhysicsFlags(LLViewerObject* objectp);
|
||||||
|
|
||||||
void updateObjectCost(LLViewerObject* object);
|
void updateObjectCost(LLViewerObject* object);
|
||||||
void updateObjectCost(const LLUUID& object_id, F32 object_cost, F32 link_cost, F32 physics_cost, F32 link_physics_cost);
|
void updateObjectCost(const LLUUID& object_id, F32 object_cost, F32 link_cost, F32 physics_cost, F32 link_physics_cost);
|
||||||
void onObjectCostFetchFailure(const LLUUID& object_id);
|
void onObjectCostFetchFailure(const LLUUID& object_id);
|
||||||
|
|||||||
Reference in New Issue
Block a user