aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorMcCabe Maxsted2009-02-18 01:24:53 -0700
committerMcCabe Maxsted2009-02-18 01:24:53 -0700
commitc0dfc20ca0701e0bf0dce41a03a705df1747b460 (patch)
tree51f4d3bdbb7c2c1eadc1b07c94782d95474745e3
parentMerge commit 'mccabe/next' into next (diff)
parentFixed crash in Top Scripts (diff)
downloadmeta-impy-c0dfc20ca0701e0bf0dce41a03a705df1747b460.zip
meta-impy-c0dfc20ca0701e0bf0dce41a03a705df1747b460.tar.gz
meta-impy-c0dfc20ca0701e0bf0dce41a03a705df1747b460.tar.bz2
meta-impy-c0dfc20ca0701e0bf0dce41a03a705df1747b460.tar.xz
Fixed crash in Top Scripts
-rw-r--r--ChangeLog.txt29
-rw-r--r--linden/indra/llcommon/llsdserialize.cpp2
-rw-r--r--linden/indra/llcommon/llsdserialize_xml.cpp13
-rw-r--r--linden/indra/llmessage/llpumpio.cpp8
-rw-r--r--linden/indra/llmessage/message_prehash.cpp1
-rw-r--r--linden/indra/llmessage/message_prehash.h1
-rw-r--r--linden/indra/newview/llfloatertopobjects.cpp8
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/floater_top_objects.xml10
8 files changed, 56 insertions, 16 deletions
diff --git a/ChangeLog.txt b/ChangeLog.txt
index 0afef3a..62e25f0 100644
--- a/ChangeLog.txt
+++ b/ChangeLog.txt
@@ -1,3 +1,24 @@
12009-02-17 McCabe Maxsted <hakushakukun@gmail.com>
2
3 * linden/indra/llmessage/llpumpio.cpp:
4 Fixed crash in Top Scripts.
5
6
72009-02-15 McCabe Maxsted <hakushakukun@gmail.com>
8
9 * linden/indra/llcommon/llsdserialize.cpp:
10 Backported LLSD changes.
11 * linden/indra/llcommon/llsdserialize_xml.cpp:
12 Ditto.
13
14 * linden/indra/llmessage/message_prehash.cpp:
15 Added MonoScore to message_prehash.
16 * linden/indra/llmessage/message_prehash.h:
17 Ditto.
18 * linden/indra/newview/llfloatertopobjects.cpp:
19 Ditto.
20
21
12009-02-14 McCabe Maxsted <hakushakukun@gmail.com> 222009-02-14 McCabe Maxsted <hakushakukun@gmail.com>
2 23
3 * linden/indra/newview/app_settings/settings.xml: 24 * linden/indra/newview/app_settings/settings.xml:
@@ -60,6 +81,14 @@
60 Ditto. 81 Ditto.
61 82
62 83
842009-02-12 McCabe Maxsted <hakushakukun@gmail.com>
85
86 * linden/indra/newview/llfloatertopobjects.cpp:
87 Backported Top Objects changes from 1.22.
88 * linden/indra/newview/skins/default/xui/en-us/floater_top_objects.xml:
89 Ditto.
90
91
632009-02-04 McCabe Maxsted <hakushakukun@gmail.com> 922009-02-04 McCabe Maxsted <hakushakukun@gmail.com>
64 93
65 * linden/indra/cmake/CopyWinLibs.cmake: 94 * linden/indra/cmake/CopyWinLibs.cmake:
diff --git a/linden/indra/llcommon/llsdserialize.cpp b/linden/indra/llcommon/llsdserialize.cpp
index d42842d..f21ff68 100644
--- a/linden/indra/llcommon/llsdserialize.cpp
+++ b/linden/indra/llcommon/llsdserialize.cpp
@@ -324,7 +324,7 @@ S32 LLSDParser::parse(std::istream& istr, LLSD& data, S32 max_bytes)
324S32 LLSDParser::parseLines(std::istream& istr, LLSD& data) 324S32 LLSDParser::parseLines(std::istream& istr, LLSD& data)
325{ 325{
326 mCheckLimits = false; 326 mCheckLimits = false;
327 mParseLines = false; // was true, Emergency fix DEV-17785 parsing newline failure 327 mParseLines = true;
328 return doParse(istr, data); 328 return doParse(istr, data);
329} 329}
330 330
diff --git a/linden/indra/llcommon/llsdserialize_xml.cpp b/linden/indra/llcommon/llsdserialize_xml.cpp
index 690ab67..9c3f85e 100644
--- a/linden/indra/llcommon/llsdserialize_xml.cpp
+++ b/linden/indra/llcommon/llsdserialize_xml.cpp
@@ -461,11 +461,11 @@ S32 LLSDXMLParser::Impl::parseLines(std::istream& input, LLSD& data)
461 input.clear(); 461 input.clear();
462 } 462 }
463 463
464 // Don't parse the NULL at the end which might be added if \n was absorbed by getline() 464 // Re-insert with the \n that was absorbed by getline()
465 char * text = (char *) buffer; 465 char * text = (char *) buffer;
466 if ( text[num_read - 1] == 0) 466 if ( text[num_read - 1] == 0)
467 { 467 {
468 num_read--; 468 text[num_read - 1] = '\n';
469 } 469 }
470 } 470 }
471 471
@@ -808,12 +808,11 @@ void LLSDXMLParser::parsePart(const char *buf, int len)
808// virtual 808// virtual
809S32 LLSDXMLParser::doParse(std::istream& input, LLSD& data) const 809S32 LLSDXMLParser::doParse(std::istream& input, LLSD& data) const
810{ 810{
811// Remove code - emergency fix DEV-17785 parsing newline failure 811 if (mParseLines)
812// if (mParseLines) 812 {
813// {
814 // Use line-based reading (faster code) 813 // Use line-based reading (faster code)
815// return impl.parseLines(input, data); 814 return impl.parseLines(input, data);
816// } 815 }
817 816
818 return impl.parse(input, data); 817 return impl.parse(input, data);
819} 818}
diff --git a/linden/indra/llmessage/llpumpio.cpp b/linden/indra/llmessage/llpumpio.cpp
index 9ce0bab..467502b 100644
--- a/linden/indra/llmessage/llpumpio.cpp
+++ b/linden/indra/llmessage/llpumpio.cpp
@@ -177,7 +177,8 @@ LLPumpIO::LLPumpIO(apr_pool_t* pool) :
177 mCurrentPool(NULL), 177 mCurrentPool(NULL),
178 mCurrentPoolReallocCount(0), 178 mCurrentPoolReallocCount(0),
179 mChainsMutex(NULL), 179 mChainsMutex(NULL),
180 mCallbackMutex(NULL) 180 mCallbackMutex(NULL),
181 mCurrentChain(mRunningChains.end())
181{ 182{
182 LLMemType m1(LLMemType::MTYPE_IO_PUMP); 183 LLMemType m1(LLMemType::MTYPE_IO_PUMP);
183 initialize(pool); 184 initialize(pool);
@@ -273,7 +274,10 @@ bool LLPumpIO::setTimeoutSeconds(F32 timeout)
273void LLPumpIO::adjustTimeoutSeconds(F32 delta) 274void LLPumpIO::adjustTimeoutSeconds(F32 delta)
274{ 275{
275 // If no chain is running, bail 276 // If no chain is running, bail
276 if(current_chain_t() == mCurrentChain) return; 277 if(mRunningChains.end() == mCurrentChain)
278 {
279 return;
280 }
277 (*mCurrentChain).adjustTimeoutSeconds(delta); 281 (*mCurrentChain).adjustTimeoutSeconds(delta);
278} 282}
279 283
diff --git a/linden/indra/llmessage/message_prehash.cpp b/linden/indra/llmessage/message_prehash.cpp
index 2ac1319..fd8953d 100644
--- a/linden/indra/llmessage/message_prehash.cpp
+++ b/linden/indra/llmessage/message_prehash.cpp
@@ -598,6 +598,7 @@ char* _PREHASH_FromAgentId = LLMessageStringTable::getInstance()->getString("Fro
598char* _PREHASH_Type = LLMessageStringTable::getInstance()->getString("Type"); 598char* _PREHASH_Type = LLMessageStringTable::getInstance()->getString("Type");
599char* _PREHASH_ChatType = LLMessageStringTable::getInstance()->getString("ChatType"); 599char* _PREHASH_ChatType = LLMessageStringTable::getInstance()->getString("ChatType");
600char* _PREHASH_ReportData = LLMessageStringTable::getInstance()->getString("ReportData"); 600char* _PREHASH_ReportData = LLMessageStringTable::getInstance()->getString("ReportData");
601char* _PREHASH_MonoScore = LLMessageStringTable::getInstance()->getString("MonoScore");
601char* _PREHASH_RequestBlock = LLMessageStringTable::getInstance()->getString("RequestBlock"); 602char* _PREHASH_RequestBlock = LLMessageStringTable::getInstance()->getString("RequestBlock");
602char* _PREHASH_GrantData = LLMessageStringTable::getInstance()->getString("GrantData"); 603char* _PREHASH_GrantData = LLMessageStringTable::getInstance()->getString("GrantData");
603char* _PREHASH_DetachAttachmentIntoInv = LLMessageStringTable::getInstance()->getString("DetachAttachmentIntoInv"); 604char* _PREHASH_DetachAttachmentIntoInv = LLMessageStringTable::getInstance()->getString("DetachAttachmentIntoInv");
diff --git a/linden/indra/llmessage/message_prehash.h b/linden/indra/llmessage/message_prehash.h
index 0ee02be..8b8c857 100644
--- a/linden/indra/llmessage/message_prehash.h
+++ b/linden/indra/llmessage/message_prehash.h
@@ -598,6 +598,7 @@ extern char * _PREHASH_FromAgentId;
598extern char * _PREHASH_Type; 598extern char * _PREHASH_Type;
599extern char * _PREHASH_ChatType; 599extern char * _PREHASH_ChatType;
600extern char * _PREHASH_ReportData; 600extern char * _PREHASH_ReportData;
601extern char * _PREHASH_MonoScore;
601extern char * _PREHASH_RequestBlock; 602extern char * _PREHASH_RequestBlock;
602extern char * _PREHASH_GrantData; 603extern char * _PREHASH_GrantData;
603extern char * _PREHASH_DetachAttachmentIntoInv; 604extern char * _PREHASH_DetachAttachmentIntoInv;
diff --git a/linden/indra/newview/llfloatertopobjects.cpp b/linden/indra/newview/llfloatertopobjects.cpp
index ada5c68..e4c90f0 100644
--- a/linden/indra/newview/llfloatertopobjects.cpp
+++ b/linden/indra/newview/llfloatertopobjects.cpp
@@ -180,11 +180,11 @@ void LLFloaterTopObjects::handleReply(LLMessageSystem *msg, void** data)
180 msg->getF32Fast(_PREHASH_ReportData, _PREHASH_Score, score, block); 180 msg->getF32Fast(_PREHASH_ReportData, _PREHASH_Score, score, block);
181 msg->getStringFast(_PREHASH_ReportData, _PREHASH_TaskName, name_buf, block); 181 msg->getStringFast(_PREHASH_ReportData, _PREHASH_TaskName, name_buf, block);
182 msg->getStringFast(_PREHASH_ReportData, _PREHASH_OwnerName, owner_buf, block); 182 msg->getStringFast(_PREHASH_ReportData, _PREHASH_OwnerName, owner_buf, block);
183 if(msg->getNumberOfBlocks("DataExtended")) 183 if(msg->has("DataExtended"))
184 { 184 {
185 have_extended_data = true; 185 have_extended_data = true;
186 msg->getU32("DataExtended", "TimeStamp", time_stamp, block); 186 msg->getU32("DataExtended", "TimeStamp", time_stamp, block);
187 msg->getF32(_PREHASH_ReportData, "MonoScore", mono_score, block); 187 msg->getF32("DataExtended", "MonoScore", mono_score, block);
188 } 188 }
189 189
190 LLSD element; 190 LLSD element;
@@ -212,7 +212,7 @@ void LLFloaterTopObjects::handleReply(LLMessageSystem *msg, void** data)
212 if (mCurrentMode == STAT_REPORT_TOP_SCRIPTS 212 if (mCurrentMode == STAT_REPORT_TOP_SCRIPTS
213 && have_extended_data) 213 && have_extended_data)
214 { 214 {
215 element["columns"][5]["column"] = "Mono Time"; 215 element["columns"][5]["column"] = "mono_time";
216 element["columns"][5]["value"] = llformat("%0.3f", mono_score); 216 element["columns"][5]["value"] = llformat("%0.3f", mono_score);
217 element["columns"][5]["font"] = "SANSSERIF"; 217 element["columns"][5]["font"] = "SANSSERIF";
218 } 218 }
@@ -238,6 +238,7 @@ void LLFloaterTopObjects::handleReply(LLMessageSystem *msg, void** data)
238 { 238 {
239 setTitle(getString("top_scripts_title")); 239 setTitle(getString("top_scripts_title"));
240 list->setColumnLabel("score", getString("scripts_score_label")); 240 list->setColumnLabel("score", getString("scripts_score_label"));
241 list->setColumnLabel("mono_time", getString("scripts_mono_time_label"));
241 242
242 LLUIString format = getString("top_scripts_text"); 243 LLUIString format = getString("top_scripts_text");
243 format.setArg("[COUNT]", llformat("%d", total_count)); 244 format.setArg("[COUNT]", llformat("%d", total_count));
@@ -248,6 +249,7 @@ void LLFloaterTopObjects::handleReply(LLMessageSystem *msg, void** data)
248 { 249 {
249 setTitle(getString("top_colliders_title")); 250 setTitle(getString("top_colliders_title"));
250 list->setColumnLabel("score", getString("colliders_score_label")); 251 list->setColumnLabel("score", getString("colliders_score_label"));
252 list->setColumnLabel("mono_time", "");
251 LLUIString format = getString("top_colliders_text"); 253 LLUIString format = getString("top_colliders_text");
252 format.setArg("[COUNT]", llformat("%d", total_count)); 254 format.setArg("[COUNT]", llformat("%d", total_count));
253 childSetValue("title_text", LLSD(format)); 255 childSetValue("title_text", LLSD(format));
diff --git a/linden/indra/newview/skins/default/xui/en-us/floater_top_objects.xml b/linden/indra/newview/skins/default/xui/en-us/floater_top_objects.xml
index 96f48eb..1b60510 100644
--- a/linden/indra/newview/skins/default/xui/en-us/floater_top_objects.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/floater_top_objects.xml
@@ -14,7 +14,8 @@
14 <column label="Owner" name="owner" width="105" /> 14 <column label="Owner" name="owner" width="105" />
15 <column label="Location" name="location" width="130" /> 15 <column label="Location" name="location" width="130" />
16 <column label="Time" name="time" width="100" /> 16 <column label="Time" name="time" width="100" />
17 </scroll_list> 17 <column label="Mono Time" name="mono_time" width="55" />
18 </scroll_list>
18 <text bottom_delta="-30" follows="left|bottom" font="SansSerifSmall" height="20" 19 <text bottom_delta="-30" follows="left|bottom" font="SansSerifSmall" height="20"
19 left="10" name="id_text" width="100"> 20 left="10" name="id_text" width="100">
20 Object ID: 21 Object ID:
@@ -61,7 +62,10 @@
61 <string name="scripts_score_label"> 62 <string name="scripts_score_label">
62 Time 63 Time
63 </string> 64 </string>
64 <string name="top_colliders_title"> 65 <string name="scripts_mono_time_label">
66 Mono Time
67 </string>
68 <string name="top_colliders_title">
65 Top Colliders 69 Top Colliders
66 </string> 70 </string>
67 <string name="top_colliders_text"> 71 <string name="top_colliders_text">
@@ -70,7 +74,7 @@
70 <string name="colliders_score_label"> 74 <string name="colliders_score_label">
71 Score 75 Score
72 </string> 76 </string>
73 <string name="none_descriptor"> 77 <string name="none_descriptor">
74 None found. 78 None found.
75 </string> 79 </string>
76</floater> 80</floater>