aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/newview/llviewerobjectlist.cpp
diff options
context:
space:
mode:
authorMcCabe Maxsted2009-10-18 17:58:27 -0700
committerMcCabe Maxsted2009-10-18 17:58:27 -0700
commite4b0e7c82d670081c071d8a3da31b5ec407b8e07 (patch)
tree9410962bbb582eedbec448139e217f2714050777 /linden/indra/newview/llviewerobjectlist.cpp
parentStarted 1.3.0 branch (diff)
parentUpdated and added some Linux libs. (diff)
downloadmeta-impy-e4b0e7c82d670081c071d8a3da31b5ec407b8e07.zip
meta-impy-e4b0e7c82d670081c071d8a3da31b5ec407b8e07.tar.gz
meta-impy-e4b0e7c82d670081c071d8a3da31b5ec407b8e07.tar.bz2
meta-impy-e4b0e7c82d670081c071d8a3da31b5ec407b8e07.tar.xz
Merged working branch of 1.2 into LL 1.23 merge
Diffstat (limited to 'linden/indra/newview/llviewerobjectlist.cpp')
-rw-r--r--linden/indra/newview/llviewerobjectlist.cpp26
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
78extern F32 gMinObjectDistance; 80extern F32 gMinObjectDistance;
79extern BOOL gAnimateTextures; 81extern BOOL gAnimateTextures;
80 82
@@ -164,7 +166,7 @@ U64 LLViewerObjectList::getIndex(const U32 local_id,
164 166
165BOOL LLViewerObjectList::removeFromLocalIDTable(const LLViewerObject &object) 167BOOL 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
183void LLViewerObjectList::setUUIDAndLocal(const LLUUID &id, 184void 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
843BOOL LLViewerObjectList::killObject(LLViewerObject *objectp) 845BOOL 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