diff options
Diffstat (limited to 'linden/indra/newview/llviewerobjectlist.cpp')
-rw-r--r-- | linden/indra/newview/llviewerobjectlist.cpp | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/linden/indra/newview/llviewerobjectlist.cpp b/linden/indra/newview/llviewerobjectlist.cpp index 4961f48..059925e 100644 --- a/linden/indra/newview/llviewerobjectlist.cpp +++ b/linden/indra/newview/llviewerobjectlist.cpp | |||
@@ -75,6 +75,8 @@ | |||
75 | 75 | ||
76 | #include "llappviewer.h" | 76 | #include "llappviewer.h" |
77 | 77 | ||
78 | #include "primbackup.h" | ||
79 | |||
78 | extern F32 gMinObjectDistance; | 80 | extern F32 gMinObjectDistance; |
79 | extern BOOL gAnimateTextures; | 81 | extern BOOL gAnimateTextures; |
80 | 82 | ||
@@ -164,7 +166,7 @@ U64 LLViewerObjectList::getIndex(const U32 local_id, | |||
164 | 166 | ||
165 | BOOL LLViewerObjectList::removeFromLocalIDTable(const LLViewerObject &object) | 167 | BOOL LLViewerObjectList::removeFromLocalIDTable(const LLViewerObject &object) |
166 | { | 168 | { |
167 | if(object.getRegion()) | 169 | if (object.mRegionp) |
168 | { | 170 | { |
169 | U32 local_id = object.mLocalID; | 171 | U32 local_id = object.mLocalID; |
170 | LLHost region_host = object.getRegion()->getHost(); | 172 | LLHost region_host = object.getRegion()->getHost(); |
@@ -176,8 +178,7 @@ BOOL LLViewerObjectList::removeFromLocalIDTable(const LLViewerObject &object) | |||
176 | U64 indexid = (((U64)index) << 32) | (U64)local_id; | 178 | U64 indexid = (((U64)index) << 32) | (U64)local_id; |
177 | return sIndexAndLocalIDToUUID.erase(indexid) > 0 ? TRUE : FALSE; | 179 | return sIndexAndLocalIDToUUID.erase(indexid) > 0 ? TRUE : FALSE; |
178 | } | 180 | } |
179 | 181 | return FALSE; | |
180 | return FALSE ; | ||
181 | } | 182 | } |
182 | 183 | ||
183 | void LLViewerObjectList::setUUIDAndLocal(const LLUUID &id, | 184 | void LLViewerObjectList::setUUIDAndLocal(const LLUUID &id, |
@@ -223,6 +224,11 @@ void LLViewerObjectList::processUpdateCore(LLViewerObject* objectp, | |||
223 | 224 | ||
224 | updateActive(objectp); | 225 | updateActive(objectp); |
225 | 226 | ||
227 | if(!just_created) | ||
228 | primbackup::getInstance()->prim_update(objectp); | ||
229 | |||
230 | |||
231 | |||
226 | if (just_created) | 232 | if (just_created) |
227 | { | 233 | { |
228 | gPipeline.addObject(objectp); | 234 | gPipeline.addObject(objectp); |
@@ -252,6 +258,9 @@ void LLViewerObjectList::processUpdateCore(LLViewerObject* objectp, | |||
252 | objectp->mCreateSelected = false; | 258 | objectp->mCreateSelected = false; |
253 | gViewerWindow->getWindow()->decBusyCount(); | 259 | gViewerWindow->getWindow()->decBusyCount(); |
254 | gViewerWindow->getWindow()->setCursor( UI_CURSOR_ARROW ); | 260 | gViewerWindow->getWindow()->setCursor( UI_CURSOR_ARROW ); |
261 | |||
262 | primbackup::getInstance()->newprim(objectp); | ||
263 | |||
255 | } | 264 | } |
256 | } | 265 | } |
257 | 266 | ||
@@ -828,17 +837,10 @@ void LLViewerObjectList::removeDrawable(LLDrawable* drawablep) | |||
828 | 837 | ||
829 | for (S32 i = 0; i < drawablep->getNumFaces(); i++) | 838 | for (S32 i = 0; i < drawablep->getNumFaces(); i++) |
830 | { | 839 | { |
831 | LLFace* facep = drawablep->getFace(i) ; | 840 | LLViewerObject* objectp = drawablep->getFace(i)->getViewerObject(); |
832 | if(facep) | ||
833 | { | ||
834 | LLViewerObject* objectp = facep->getViewerObject(); | ||
835 | if(objectp) | ||
836 | { | ||
837 | mSelectPickList.erase(objectp); | 841 | mSelectPickList.erase(objectp); |
838 | } | 842 | } |
839 | } | 843 | } |
840 | } | ||
841 | } | ||
842 | 844 | ||
843 | BOOL LLViewerObjectList::killObject(LLViewerObject *objectp) | 845 | BOOL LLViewerObjectList::killObject(LLViewerObject *objectp) |
844 | { | 846 | { |
@@ -915,7 +917,7 @@ void LLViewerObjectList::killAllObjects() | |||
915 | if (!mMapObjects.empty()) | 917 | if (!mMapObjects.empty()) |
916 | { | 918 | { |
917 | llwarns << "Some objects still on map object list!" << llendl; | 919 | llwarns << "Some objects still on map object list!" << llendl; |
918 | mMapObjects.clear(); | 920 | mActiveObjects.clear(); |
919 | } | 921 | } |
920 | } | 922 | } |
921 | 923 | ||