diff options
-rw-r--r-- | ChangeLog.txt | 7 | ||||
-rw-r--r-- | linden/indra/newview/llviewerregion.cpp | 15 |
2 files changed, 18 insertions, 4 deletions
diff --git a/ChangeLog.txt b/ChangeLog.txt index 123e623..932a877 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt | |||
@@ -2,6 +2,13 @@ | |||
2 | =- 1.1.0 -= | 2 | =- 1.1.0 -= |
3 | =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- | 3 | =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- |
4 | 4 | ||
5 | 2009-01-30 Jacek Antonelli <jacek.antonelli@gmail.com> | ||
6 | |||
7 | * linden/indra/newview/llviewerregion.cpp | ||
8 | Fix crash with two instances logged in to opensim. | ||
9 | Patch by Armin Weatherwax. | ||
10 | |||
11 | |||
5 | 2009-01-29 McCabe Maxsted <hakushakukun@gmail.com> | 12 | 2009-01-29 McCabe Maxsted <hakushakukun@gmail.com> |
6 | 13 | ||
7 | * linden/indra/llmedia/llmediaimplgstreamer.cpp: | 14 | * linden/indra/llmedia/llmediaimplgstreamer.cpp: |
diff --git a/linden/indra/newview/llviewerregion.cpp b/linden/indra/newview/llviewerregion.cpp index b2fd621..19e5117 100644 --- a/linden/indra/newview/llviewerregion.cpp +++ b/linden/indra/newview/llviewerregion.cpp | |||
@@ -1022,21 +1022,25 @@ void LLViewerRegion::updateCoarseLocations(LLMessageSystem* msg) | |||
1022 | U8 z_pos = 0; | 1022 | U8 z_pos = 0; |
1023 | 1023 | ||
1024 | U32 pos = 0x0; | 1024 | U32 pos = 0x0; |
1025 | 1025 | ||
1026 | LLUUID agent_id = LLUUID::null; | ||
1027 | 1026 | ||
1028 | S16 agent_index; | 1027 | S16 agent_index; |
1029 | S16 target_index; | 1028 | S16 target_index; |
1030 | msg->getS16Fast(_PREHASH_Index, _PREHASH_You, agent_index); | 1029 | msg->getS16Fast(_PREHASH_Index, _PREHASH_You, agent_index); |
1031 | msg->getS16Fast(_PREHASH_Index, _PREHASH_Prey, target_index); | 1030 | msg->getS16Fast(_PREHASH_Index, _PREHASH_Prey, target_index); |
1032 | 1031 | ||
1032 | BOOL has_agent_data = msg->has(_PREHASH_AgentData); | ||
1033 | S32 count = msg->getNumberOfBlocksFast(_PREHASH_Location); | 1033 | S32 count = msg->getNumberOfBlocksFast(_PREHASH_Location); |
1034 | for(S32 i = 0; i < count; i++) | 1034 | for(S32 i = 0; i < count; i++) |
1035 | { | 1035 | { |
1036 | msg->getU8Fast(_PREHASH_Location, _PREHASH_X, x_pos, i); | 1036 | msg->getU8Fast(_PREHASH_Location, _PREHASH_X, x_pos, i); |
1037 | msg->getU8Fast(_PREHASH_Location, _PREHASH_Y, y_pos, i); | 1037 | msg->getU8Fast(_PREHASH_Location, _PREHASH_Y, y_pos, i); |
1038 | msg->getU8Fast(_PREHASH_Location, _PREHASH_Z, z_pos, i); | 1038 | msg->getU8Fast(_PREHASH_Location, _PREHASH_Z, z_pos, i); |
1039 | msg->getUUIDFast(_PREHASH_AgentData, _PREHASH_AgentID, agent_id, i); | 1039 | LLUUID agent_id = LLUUID::null; |
1040 | if(has_agent_data) | ||
1041 | { | ||
1042 | msg->getUUIDFast(_PREHASH_AgentData, _PREHASH_AgentID, agent_id, i); | ||
1043 | } | ||
1040 | 1044 | ||
1041 | //llinfos << " object X: " << (S32)x_pos << " Y: " << (S32)y_pos | 1045 | //llinfos << " object X: " << (S32)x_pos << " Y: " << (S32)y_pos |
1042 | // << " Z: " << (S32)(z_pos * 4) | 1046 | // << " Z: " << (S32)(z_pos * 4) |
@@ -1062,7 +1066,10 @@ void LLViewerRegion::updateCoarseLocations(LLMessageSystem* msg) | |||
1062 | pos <<= 8; | 1066 | pos <<= 8; |
1063 | pos |= z_pos; | 1067 | pos |= z_pos; |
1064 | mMapAvatars.put(pos); | 1068 | mMapAvatars.put(pos); |
1065 | mMapAvatarIDs.put(agent_id); | 1069 | if(has_agent_data) |
1070 | { | ||
1071 | mMapAvatarIDs.put(agent_id); | ||
1072 | } | ||
1066 | } | 1073 | } |
1067 | } | 1074 | } |
1068 | } | 1075 | } |