diff options
author | McCabe Maxsted | 2009-02-18 01:24:53 -0700 |
---|---|---|
committer | McCabe Maxsted | 2009-02-18 01:24:53 -0700 |
commit | c0dfc20ca0701e0bf0dce41a03a705df1747b460 (patch) | |
tree | 51f4d3bdbb7c2c1eadc1b07c94782d95474745e3 | |
parent | Merge commit 'mccabe/next' into next (diff) | |
parent | Fixed crash in Top Scripts (diff) | |
download | meta-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.txt | 29 | ||||
-rw-r--r-- | linden/indra/llcommon/llsdserialize.cpp | 2 | ||||
-rw-r--r-- | linden/indra/llcommon/llsdserialize_xml.cpp | 13 | ||||
-rw-r--r-- | linden/indra/llmessage/llpumpio.cpp | 8 | ||||
-rw-r--r-- | linden/indra/llmessage/message_prehash.cpp | 1 | ||||
-rw-r--r-- | linden/indra/llmessage/message_prehash.h | 1 | ||||
-rw-r--r-- | linden/indra/newview/llfloatertopobjects.cpp | 8 | ||||
-rw-r--r-- | linden/indra/newview/skins/default/xui/en-us/floater_top_objects.xml | 10 |
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 @@ | |||
1 | 2009-02-17 McCabe Maxsted <hakushakukun@gmail.com> | ||
2 | |||
3 | * linden/indra/llmessage/llpumpio.cpp: | ||
4 | Fixed crash in Top Scripts. | ||
5 | |||
6 | |||
7 | 2009-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 | |||
1 | 2009-02-14 McCabe Maxsted <hakushakukun@gmail.com> | 22 | 2009-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 | ||
84 | 2009-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 | |||
63 | 2009-02-04 McCabe Maxsted <hakushakukun@gmail.com> | 92 | 2009-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) | |||
324 | S32 LLSDParser::parseLines(std::istream& istr, LLSD& data) | 324 | S32 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 |
809 | S32 LLSDXMLParser::doParse(std::istream& input, LLSD& data) const | 809 | S32 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) | |||
273 | void LLPumpIO::adjustTimeoutSeconds(F32 delta) | 274 | void 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 | |||
598 | char* _PREHASH_Type = LLMessageStringTable::getInstance()->getString("Type"); | 598 | char* _PREHASH_Type = LLMessageStringTable::getInstance()->getString("Type"); |
599 | char* _PREHASH_ChatType = LLMessageStringTable::getInstance()->getString("ChatType"); | 599 | char* _PREHASH_ChatType = LLMessageStringTable::getInstance()->getString("ChatType"); |
600 | char* _PREHASH_ReportData = LLMessageStringTable::getInstance()->getString("ReportData"); | 600 | char* _PREHASH_ReportData = LLMessageStringTable::getInstance()->getString("ReportData"); |
601 | char* _PREHASH_MonoScore = LLMessageStringTable::getInstance()->getString("MonoScore"); | ||
601 | char* _PREHASH_RequestBlock = LLMessageStringTable::getInstance()->getString("RequestBlock"); | 602 | char* _PREHASH_RequestBlock = LLMessageStringTable::getInstance()->getString("RequestBlock"); |
602 | char* _PREHASH_GrantData = LLMessageStringTable::getInstance()->getString("GrantData"); | 603 | char* _PREHASH_GrantData = LLMessageStringTable::getInstance()->getString("GrantData"); |
603 | char* _PREHASH_DetachAttachmentIntoInv = LLMessageStringTable::getInstance()->getString("DetachAttachmentIntoInv"); | 604 | char* _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; | |||
598 | extern char * _PREHASH_Type; | 598 | extern char * _PREHASH_Type; |
599 | extern char * _PREHASH_ChatType; | 599 | extern char * _PREHASH_ChatType; |
600 | extern char * _PREHASH_ReportData; | 600 | extern char * _PREHASH_ReportData; |
601 | extern char * _PREHASH_MonoScore; | ||
601 | extern char * _PREHASH_RequestBlock; | 602 | extern char * _PREHASH_RequestBlock; |
602 | extern char * _PREHASH_GrantData; | 603 | extern char * _PREHASH_GrantData; |
603 | extern char * _PREHASH_DetachAttachmentIntoInv; | 604 | extern 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> |