aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden
diff options
context:
space:
mode:
Diffstat (limited to 'linden')
-rw-r--r--linden/indra/cmake/CopyWinLibs.cmake52
-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/llui/llkeywords.cpp8
-rw-r--r--linden/indra/newview/CMakeLists.txt1
-rw-r--r--linden/indra/newview/llfloatertopobjects.cpp8
-rw-r--r--linden/indra/newview/llselectmgr.cpp2
-rw-r--r--linden/indra/newview/lltoolpie.cpp6
-rw-r--r--linden/indra/newview/llviewermenu.cpp9
-rw-r--r--linden/indra/newview/llviewermenu.h3
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/floater_top_objects.xml10
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/menu_pie_hud.xml23
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/menu_viewer.xml18
16 files changed, 110 insertions, 55 deletions
diff --git a/linden/indra/cmake/CopyWinLibs.cmake b/linden/indra/cmake/CopyWinLibs.cmake
index e80f0c3..458b016 100644
--- a/linden/indra/cmake/CopyWinLibs.cmake
+++ b/linden/indra/cmake/CopyWinLibs.cmake
@@ -9,14 +9,14 @@ include(CMakeCopyIfDifferent)
9set(gst_plugin_release_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-win32/lib/release/lib/gstreamer-plugins") 9set(gst_plugin_release_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-win32/lib/release/lib/gstreamer-plugins")
10set(gst_plugin_release_files 10set(gst_plugin_release_files
11 libdshowsrcwrapper.dll 11 libdshowsrcwrapper.dll
12 libfsselector.dll 12 libgsta52.dll
13 libfsvalve.dll
14 libgstacmenc.dll 13 libgstacmenc.dll
15 libgstadder.dll 14 libgstadder.dll
16 libgstalaw.dll 15 libgstalaw.dll
17 libgstalpha.dll 16 libgstalpha.dll
18 libgstalphacolor.dll 17 libgstalphacolor.dll
19 libgstapp.dll 18 libgstapp.dll
19 libgstasfdemux.dll
20 libgstaudiochunk.dll 20 libgstaudiochunk.dll
21 libgstaudioconvert.dll 21 libgstaudioconvert.dll
22 libgstaudiofx.dll 22 libgstaudiofx.dll
@@ -27,41 +27,44 @@ set(gst_plugin_release_files
27 libgstavi.dll 27 libgstavi.dll
28 libgstcoreelements.dll 28 libgstcoreelements.dll
29 libgstcutter.dll 29 libgstcutter.dll
30 libgstdecodebin2.dll
31 libgstdecodebin.dll 30 libgstdecodebin.dll
31 libgstdecodebin2.dll
32 libgstdirectdraw.dll 32 libgstdirectdraw.dll
33 libgstdirectsound.dll 33 libgstdirectsound.dll
34 libgstdshowdecwrapper.dll 34 libgstdshowdecwrapper.dll
35 libgstdshowsrcwrapper.dll 35 libgstdshowsrcwrapper.dll
36 libgstdshowvideosink.dll 36 libgstdshowvideosink.dll
37 libgstdtmf.dll 37 libgstfaad.dll
38 libgstffmpeg.dll 38 libgstffmpeg.dll
39 libgstffmpegcolorspace.dll 39 libgstffmpegcolorspace.dll
40 libgstflv.dll 40 libgstflv.dll
41 libgstgamma.dll
41 libgstgdp.dll 42 libgstgdp.dll
42 libgsth264parse.dll 43 libgsth264parse.dll
43 libgsticydemux.dll 44 libgsticydemux.dll
44 libgstid3demux.dll 45 libgstid3demux.dll
45 libgstjpeg.dll 46 libgstjpeg.dll
46 libgstlevel.dll 47 libgstlevel.dll
47 libgstmad.dll
48 libgstmms.dll 48 libgstmms.dll
49 libgstmpeg2dec.dll 49 libgstmpeg2dec.dll
50 libgstmpeg4videoparse.dll
50 libgstmpegaudioparse.dll 51 libgstmpegaudioparse.dll
51 libgstmpegstream.dll 52 libgstmpegstream.dll
52 libgstmpegvideoparse.dll 53 libgstmpegvideoparse.dll
53 libgstmscodecs.dll
54 libgstmulaw.dll 54 libgstmulaw.dll
55 libgstmultipart.dll 55 libgstmultipart.dll
56 libgstneon.dll 56 libgstneon.dll
57 libgstogg.dll 57 libgstogg.dll
58 libgstpcapparse.dll
58 libgstplaybin.dll 59 libgstplaybin.dll
59 libgstpng.dll 60 libgstpng.dll
60 libgstqtdemux.dll 61 libgstqtdemux.dll
61 libgstqueue2.dll 62 libgstqueue2.dll
63 libgstreal.dll
64 libgstrealmedia.dll
62 libgstrtp.dll 65 libgstrtp.dll
63 libgstrtpmanager.dll 66 libgstrtpmanager.dll
64 libgstrtpmuxer.dll 67 libgstrtpmuxer.dll
65 libgstrtsp.dll 68 libgstrtsp.dll
66 libgstsmpte.dll 69 libgstsmpte.dll
67 libgsttheora.dll 70 libgsttheora.dll
@@ -74,13 +77,12 @@ set(gst_plugin_release_files
74 libgstvideorate.dll 77 libgstvideorate.dll
75 libgstvideoscale.dll 78 libgstvideoscale.dll
76 libgstvideosignal.dll 79 libgstvideosignal.dll
77 libgstvideotestsrc.dll
78 libgstvolume.dll
79 libgstvolume.dll 80 libgstvolume.dll
80 libgstvorbis.dll 81 libgstvorbis.dll
81 libgstwasapi.dll 82 libgstwasapi.dll
82 libgstwavparse.dll 83 libgstwavparse.dll
83 libgstwininet.dll 84 libgstwininet.dll
85 libgstwinks.dll
84 libgstx264.dll 86 libgstx264.dll
85 libgstxvid.dll 87 libgstxvid.dll
86 ) 88 )
@@ -96,14 +98,14 @@ set(all_targets ${all_targets} ${out_targets})
96set(gst_plugin_debug_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-win32/lib/debug/lib/gstreamer-plugins") 98set(gst_plugin_debug_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-win32/lib/debug/lib/gstreamer-plugins")
97set(gst_plugin_debug_files 99set(gst_plugin_debug_files
98 libdshowsrcwrapper.dll 100 libdshowsrcwrapper.dll
99 libfsselector.dll 101 libgsta52.dll
100 libfsvalve.dll
101 libgstacmenc.dll 102 libgstacmenc.dll
102 libgstadder.dll 103 libgstadder.dll
103 libgstalaw.dll 104 libgstalaw.dll
104 libgstalpha.dll 105 libgstalpha.dll
105 libgstalphacolor.dll 106 libgstalphacolor.dll
106 libgstapp.dll 107 libgstapp.dll
108 libgstasfdemux.dll
107 libgstaudiochunk.dll 109 libgstaudiochunk.dll
108 libgstaudioconvert.dll 110 libgstaudioconvert.dll
109 libgstaudiofx.dll 111 libgstaudiofx.dll
@@ -114,41 +116,44 @@ set(gst_plugin_debug_files
114 libgstavi.dll 116 libgstavi.dll
115 libgstcoreelements.dll 117 libgstcoreelements.dll
116 libgstcutter.dll 118 libgstcutter.dll
117 libgstdecodebin2.dll
118 libgstdecodebin.dll 119 libgstdecodebin.dll
120 libgstdecodebin2.dll
119 libgstdirectdraw.dll 121 libgstdirectdraw.dll
120 libgstdirectsound.dll 122 libgstdirectsound.dll
121 libgstdshowdecwrapper.dll 123 libgstdshowdecwrapper.dll
122 libgstdshowsrcwrapper.dll 124 libgstdshowsrcwrapper.dll
123 libgstdshowvideosink.dll 125 libgstdshowvideosink.dll
124 libgstdtmf.dll 126 libgstfaad.dll
125 libgstffmpeg.dll 127 libgstffmpeg.dll
126 libgstffmpegcolorspace.dll 128 libgstffmpegcolorspace.dll
127 libgstflv.dll 129 libgstflv.dll
130 libgstgamma.dll
128 libgstgdp.dll 131 libgstgdp.dll
129 libgsth264parse.dll 132 libgsth264parse.dll
130 libgsticydemux.dll 133 libgsticydemux.dll
131 libgstid3demux.dll 134 libgstid3demux.dll
132 libgstjpeg.dll 135 libgstjpeg.dll
133 libgstlevel.dll 136 libgstlevel.dll
134 libgstmad.dll
135 libgstmms.dll 137 libgstmms.dll
136 libgstmpeg2dec.dll 138 libgstmpeg2dec.dll
139 libgstmpeg4videoparse.dll
137 libgstmpegaudioparse.dll 140 libgstmpegaudioparse.dll
138 libgstmpegstream.dll 141 libgstmpegstream.dll
139 libgstmpegvideoparse.dll 142 libgstmpegvideoparse.dll
140 libgstmscodecs.dll
141 libgstmulaw.dll 143 libgstmulaw.dll
142 libgstmultipart.dll 144 libgstmultipart.dll
143 libgstneon.dll 145 libgstneon.dll
144 libgstogg.dll 146 libgstogg.dll
147 libgstpcapparse.dll
145 libgstplaybin.dll 148 libgstplaybin.dll
146 libgstpng.dll 149 libgstpng.dll
147 libgstqtdemux.dll 150 libgstqtdemux.dll
148 libgstqueue2.dll 151 libgstqueue2.dll
152 libgstreal.dll
153 libgstrealmedia.dll
149 libgstrtp.dll 154 libgstrtp.dll
150 libgstrtpmanager.dll 155 libgstrtpmanager.dll
151 libgstrtpmuxer.dll 156 libgstrtpmuxer.dll
152 libgstrtsp.dll 157 libgstrtsp.dll
153 libgstsmpte.dll 158 libgstsmpte.dll
154 libgsttheora.dll 159 libgsttheora.dll
@@ -161,13 +166,12 @@ set(gst_plugin_debug_files
161 libgstvideorate.dll 166 libgstvideorate.dll
162 libgstvideoscale.dll 167 libgstvideoscale.dll
163 libgstvideosignal.dll 168 libgstvideosignal.dll
164 libgstvideotestsrc.dll
165 libgstvolume.dll
166 libgstvolume.dll 169 libgstvolume.dll
167 libgstvorbis.dll 170 libgstvorbis.dll
168 libgstwasapi.dll 171 libgstwasapi.dll
169 libgstwavparse.dll 172 libgstwavparse.dll
170 libgstwininet.dll 173 libgstwininet.dll
174 libgstwinks.dll
171 libgstx264.dll 175 libgstx264.dll
172 libgstxvid.dll 176 libgstxvid.dll
173 ) 177 )
@@ -220,6 +224,7 @@ set(debug_files
220 avformat-52.dll 224 avformat-52.dll
221 avutil-49.dll 225 avutil-49.dll
222 intl.dll 226 intl.dll
227 libfaacdrm.dll
223 libgstapp-0.10.dll 228 libgstapp-0.10.dll
224 libgstaudio-0.10.dll 229 libgstaudio-0.10.dll
225 libgstbase-0.10.dll 230 libgstbase-0.10.dll
@@ -243,10 +248,11 @@ set(debug_files
243 libmms.dll 248 libmms.dll
244 liboil-0.3-0.dll 249 liboil-0.3-0.dll
245 libpng13.dll 250 libpng13.dll
246 xvidcore.dll 251 libspeex.dll
247 zlib1.dll
248 ogg.dll 252 ogg.dll
249 vorbis.dll 253 vorbis.dll
254 xvidcore.dll
255 zlib1.dll
250 ) 256 )
251 257
252copy_if_different( 258copy_if_different(
@@ -294,6 +300,7 @@ set(release_files
294 avformat-52.dll 300 avformat-52.dll
295 avutil-49.dll 301 avutil-49.dll
296 intl.dll 302 intl.dll
303 libfaacdrm.dll
297 libgstapp-0.10.dll 304 libgstapp-0.10.dll
298 libgstaudio-0.10.dll 305 libgstaudio-0.10.dll
299 libgstbase-0.10.dll 306 libgstbase-0.10.dll
@@ -317,10 +324,11 @@ set(release_files
317 libmms.dll 324 libmms.dll
318 liboil-0.3-0.dll 325 liboil-0.3-0.dll
319 libpng13.dll 326 libpng13.dll
320 xvidcore.dll 327 libspeex.dll
321 zlib1.dll
322 ogg.dll 328 ogg.dll
323 vorbis.dll 329 vorbis.dll
330 xvidcore.dll
331 zlib1.dll
324 ) 332 )
325 333
326copy_if_different( 334copy_if_different(
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/llui/llkeywords.cpp b/linden/indra/llui/llkeywords.cpp
index cd58d70..862e77b 100644
--- a/linden/indra/llui/llkeywords.cpp
+++ b/linden/indra/llui/llkeywords.cpp
@@ -438,10 +438,12 @@ void LLKeywords::findSegments(std::vector<LLTextSegment *>* seg_list, const LLWS
438 438
439 if( *cur ) 439 if( *cur )
440 { 440 {
441 cur += cur_delimiter->getLength(); 441 cur += cur_delimiter->getLength2();
442 if (cur_delimiter->getType() == LLKeywordToken::TWO_SIDED_DELIMITER) 442 if (cur_delimiter->getType() == LLKeywordToken::TWO_SIDED_DELIMITER)
443 { 443 {
444 seg_end = seg_start + between_delimiters + 2 * cur_delimiter->getLength(); 444 seg_end = seg_start + between_delimiters
445 + cur_delimiter->getLength()
446 + cur_delimiter->getLength2();
445 } 447 }
446 else if (cur_delimiter->getType() == LLKeywordToken::ONE_SIDED_DELIMITER) 448 else if (cur_delimiter->getType() == LLKeywordToken::ONE_SIDED_DELIMITER)
447 { 449 {
@@ -450,7 +452,7 @@ void LLKeywords::findSegments(std::vector<LLTextSegment *>* seg_list, const LLWS
450 between_delimiters++; 452 between_delimiters++;
451 cur++; 453 cur++;
452 } 454 }
453 seg_end = seg_start + between_delimiters + 2 + cur_delimiter->getLength(); 455 seg_end = seg_start + between_delimiters + cur_delimiter->getLength();
454 } 456 }
455 else 457 else
456 { 458 {
diff --git a/linden/indra/newview/CMakeLists.txt b/linden/indra/newview/CMakeLists.txt
index 4024fdd..1e48d28 100644
--- a/linden/indra/newview/CMakeLists.txt
+++ b/linden/indra/newview/CMakeLists.txt
@@ -1120,6 +1120,7 @@ set(viewer_XUI_FILES
1120 skins/default/xui/en-us/menu_login.xml 1120 skins/default/xui/en-us/menu_login.xml
1121 skins/default/xui/en-us/menu_pie_attachment.xml 1121 skins/default/xui/en-us/menu_pie_attachment.xml
1122 skins/default/xui/en-us/menu_pie_avatar.xml 1122 skins/default/xui/en-us/menu_pie_avatar.xml
1123 skins/default/xui/en-us/menu_pie_hud.xml
1123 skins/default/xui/en-us/menu_pie_land.xml 1124 skins/default/xui/en-us/menu_pie_land.xml
1124 skins/default/xui/en-us/menu_pie_object.xml 1125 skins/default/xui/en-us/menu_pie_object.xml
1125 skins/default/xui/en-us/menu_pie_self.xml 1126 skins/default/xui/en-us/menu_pie_self.xml
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/llselectmgr.cpp b/linden/indra/newview/llselectmgr.cpp
index 7547dd2..fe1755b 100644
--- a/linden/indra/newview/llselectmgr.cpp
+++ b/linden/indra/newview/llselectmgr.cpp
@@ -3444,7 +3444,7 @@ void LLSelectMgr::deselectAllIfTooFar()
3444 3444
3445 // HACK: Don't deselect when we're navigating to rate an object's 3445 // HACK: Don't deselect when we're navigating to rate an object's
3446 // owner or creator. JC 3446 // owner or creator. JC
3447 if (gPieObject->getVisible() || gPieRate->getVisible() ) 3447 if (gPieObject->getVisible())
3448 { 3448 {
3449 return; 3449 return;
3450 } 3450 }
diff --git a/linden/indra/newview/lltoolpie.cpp b/linden/indra/newview/lltoolpie.cpp
index de10045..63b6e34 100644
--- a/linden/indra/newview/lltoolpie.cpp
+++ b/linden/indra/newview/lltoolpie.cpp
@@ -336,10 +336,14 @@ BOOL LLToolPie::pickAndShowMenu(BOOL always_show)
336 336
337 gPieAvatar->show(x, y, mPieMouseButtonDown); 337 gPieAvatar->show(x, y, mPieMouseButtonDown);
338 } 338 }
339 else if (object->isAttachment()) 339 else if (object->isAttachment() && !object->isHUDAttachment())
340 { 340 {
341 gPieAttachment->show(x, y, mPieMouseButtonDown); 341 gPieAttachment->show(x, y, mPieMouseButtonDown);
342 } 342 }
343 else if (object->isHUDAttachment())
344 {
345 gPieHUD->show(x, y, mPieMouseButtonDown);
346 }
343 else 347 else
344 { 348 {
345 // BUG: What about chatting child objects? 349 // BUG: What about chatting child objects?
diff --git a/linden/indra/newview/llviewermenu.cpp b/linden/indra/newview/llviewermenu.cpp
index b7f4a40..31fdcc3 100644
--- a/linden/indra/newview/llviewermenu.cpp
+++ b/linden/indra/newview/llviewermenu.cpp
@@ -251,6 +251,7 @@ LLPieMenu *gPieSelf = NULL;
251LLPieMenu *gPieAvatar = NULL; 251LLPieMenu *gPieAvatar = NULL;
252LLPieMenu *gPieObject = NULL; 252LLPieMenu *gPieObject = NULL;
253LLPieMenu *gPieAttachment = NULL; 253LLPieMenu *gPieAttachment = NULL;
254LLPieMenu *gPieHUD = NULL;
254LLPieMenu *gPieLand = NULL; 255LLPieMenu *gPieLand = NULL;
255 256
256// local constants 257// local constants
@@ -263,7 +264,6 @@ const std::string SAVE_INTO_TASK_INVENTORY("Save Object Back to Object Contents"
263LLMenuGL* gAttachSubMenu = NULL; 264LLMenuGL* gAttachSubMenu = NULL;
264LLMenuGL* gDetachSubMenu = NULL; 265LLMenuGL* gDetachSubMenu = NULL;
265LLMenuGL* gTakeOffClothes = NULL; 266LLMenuGL* gTakeOffClothes = NULL;
266LLPieMenu* gPieRate = NULL;
267LLPieMenu* gAttachScreenPieMenu = NULL; 267LLPieMenu* gAttachScreenPieMenu = NULL;
268LLPieMenu* gAttachPieMenu = NULL; 268LLPieMenu* gAttachPieMenu = NULL;
269LLPieMenu* gAttachBodyPartPieMenus[8]; 269LLPieMenu* gAttachBodyPartPieMenus[8];
@@ -610,10 +610,11 @@ void init_menus()
610 610
611 gAttachScreenPieMenu = gMenuHolder->getChild<LLPieMenu>("Object Attach HUD"); 611 gAttachScreenPieMenu = gMenuHolder->getChild<LLPieMenu>("Object Attach HUD");
612 gAttachPieMenu = gMenuHolder->getChild<LLPieMenu>("Object Attach"); 612 gAttachPieMenu = gMenuHolder->getChild<LLPieMenu>("Object Attach");
613 gPieRate = gMenuHolder->getChild<LLPieMenu>("Rate Menu");
614 613
615 gPieAttachment = LLUICtrlFactory::getInstance()->buildPieMenu("menu_pie_attachment.xml", gMenuHolder); 614 gPieAttachment = LLUICtrlFactory::getInstance()->buildPieMenu("menu_pie_attachment.xml", gMenuHolder);
616 615
616 gPieHUD = LLUICtrlFactory::getInstance()->buildPieMenu("menu_pie_hud.xml", gMenuHolder);
617
617 gPieLand = LLUICtrlFactory::getInstance()->buildPieMenu("menu_pie_land.xml", gMenuHolder); 618 gPieLand = LLUICtrlFactory::getInstance()->buildPieMenu("menu_pie_land.xml", gMenuHolder);
618 619
619 /// 620 ///
@@ -626,6 +627,7 @@ void init_menus()
626 gPieAvatar->setBackgroundColor( pie_color ); 627 gPieAvatar->setBackgroundColor( pie_color );
627 gPieObject->setBackgroundColor( pie_color ); 628 gPieObject->setBackgroundColor( pie_color );
628 gPieAttachment->setBackgroundColor( pie_color ); 629 gPieAttachment->setBackgroundColor( pie_color );
630 gPieHUD->setBackgroundColor( pie_color );
629 gPieLand->setBackgroundColor( pie_color ); 631 gPieLand->setBackgroundColor( pie_color );
630 632
631 color = gColors.getColor( "MenuPopupBgColor" ); 633 color = gColors.getColor( "MenuPopupBgColor" );
@@ -1475,6 +1477,9 @@ void cleanup_menus()
1475 delete gPieAttachment; 1477 delete gPieAttachment;
1476 gPieAttachment = NULL; 1478 gPieAttachment = NULL;
1477 1479
1480 delete gPieHUD;
1481 gPieHUD = NULL;
1482
1478 delete gPieLand; 1483 delete gPieLand;
1479 gPieLand = NULL; 1484 gPieLand = NULL;
1480 1485
diff --git a/linden/indra/newview/llviewermenu.h b/linden/indra/newview/llviewermenu.h
index e003e90..c2f880e 100644
--- a/linden/indra/newview/llviewermenu.h
+++ b/linden/indra/newview/llviewermenu.h
@@ -147,14 +147,15 @@ extern LLPieMenu *gPieSelf;
147extern LLPieMenu *gPieAvatar; 147extern LLPieMenu *gPieAvatar;
148extern LLPieMenu *gPieObject; 148extern LLPieMenu *gPieObject;
149extern LLPieMenu *gPieAttachment; 149extern LLPieMenu *gPieAttachment;
150extern LLPieMenu *gPieHUD;
150extern LLPieMenu *gPieLand; 151extern LLPieMenu *gPieLand;
151extern LLPieMenu* gPieRate;
152 152
153// Pie menus 153// Pie menus
154extern LLPieMenu *gPieSelfSimple; 154extern LLPieMenu *gPieSelfSimple;
155extern LLPieMenu *gPieAvatarSimple; 155extern LLPieMenu *gPieAvatarSimple;
156extern LLPieMenu *gPieObjectSimple; 156extern LLPieMenu *gPieObjectSimple;
157extern LLPieMenu *gPieAttachmentSimple; 157extern LLPieMenu *gPieAttachmentSimple;
158extern LLPieMenu *gPieHUDSimple;
158extern LLPieMenu *gPieLandSimple; 159extern LLPieMenu *gPieLandSimple;
159 160
160// Needed to build menus when attachment site list available 161// Needed to build menus when attachment site list available
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>
diff --git a/linden/indra/newview/skins/default/xui/en-us/menu_pie_hud.xml b/linden/indra/newview/skins/default/xui/en-us/menu_pie_hud.xml
new file mode 100644
index 0000000..ba6db28
--- /dev/null
+++ b/linden/indra/newview/skins/default/xui/en-us/menu_pie_hud.xml
@@ -0,0 +1,23 @@
1<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2<pie_menu name="Hud Pie">
3 <menu_item_call enabled="false" label="Detach" mouse_opaque="true" name="Detach">
4 <on_click function="Attachment.Detach" />
5 <on_enable function="Attachment.EnableDetach" />
6 </menu_item_call>
7 <menu_item_separator />
8 <menu_item_call enabled="false" label="Touch" mouse_opaque="true" name="Attachment Touch">
9 <on_click function="Object.Touch" />
10 <on_enable function="Attachment.EnableTouch" userdata="Touch" />
11 </menu_item_call>
12 <menu_item_separator />
13 <menu_item_separator />
14 <menu_item_separator />
15 <menu_item_call enabled="false" label="Edit..." mouse_opaque="true" name="Edit...">
16 <on_click function="Object.Edit" />
17 <on_enable function="EnableEdit" />
18 </menu_item_call>
19 <menu_item_call enabled="false" label="Drop" mouse_opaque="true" name="Drop">
20 <on_click function="Attachment.Drop" />
21 <on_enable function="Attachment.EnableDrop" />
22 </menu_item_call>
23</pie_menu>
diff --git a/linden/indra/newview/skins/default/xui/en-us/menu_viewer.xml b/linden/indra/newview/skins/default/xui/en-us/menu_viewer.xml
index 2d5402b..4758116 100644
--- a/linden/indra/newview/skins/default/xui/en-us/menu_viewer.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/menu_viewer.xml
@@ -1064,42 +1064,42 @@
1064 <menu name="Features" drop_shadow="true" 1064 <menu name="Features" drop_shadow="true"
1065 opaque="true" tear_off="true"> 1065 opaque="true" tear_off="true">
1066 <menu_item_check name="UI" label="UI" 1066 <menu_item_check name="UI" label="UI"
1067 shortcut="control|alt|F1"> 1067 shortcut="alt|shift|F1">
1068 <on_click function="Advanced.ToggleFeature" 1068 <on_click function="Advanced.ToggleFeature"
1069 userdata="ui" /> 1069 userdata="ui" />
1070 <on_check function="Advanced.CheckFeature" 1070 <on_check function="Advanced.CheckFeature"
1071 userdata="ui" /> 1071 userdata="ui" />
1072 </menu_item_check> 1072 </menu_item_check>
1073 <menu_item_check name="Selected" label="Selected" 1073 <menu_item_check name="Selected" label="Selected"
1074 shortcut="control|alt|F2"> 1074 shortcut="alt|shift|F2">
1075 <on_click function="Advanced.ToggleFeature" 1075 <on_click function="Advanced.ToggleFeature"
1076 userdata="selected" /> 1076 userdata="selected" />
1077 <on_check function="Advanced.CheckFeature" 1077 <on_check function="Advanced.CheckFeature"
1078 userdata="selected" /> 1078 userdata="selected" />
1079 </menu_item_check> 1079 </menu_item_check>
1080 <menu_item_check name="Highlighted" label="Highlighted" 1080 <menu_item_check name="Highlighted" label="Highlighted"
1081 shortcut="control|alt|F3"> 1081 shortcut="alt|shift|F3">
1082 <on_click function="Advanced.ToggleFeature" 1082 <on_click function="Advanced.ToggleFeature"
1083 userdata="highlighted" /> 1083 userdata="highlighted" />
1084 <on_check function="Advanced.CheckFeature" 1084 <on_check function="Advanced.CheckFeature"
1085 userdata="highlighted" /> 1085 userdata="highlighted" />
1086 </menu_item_check> 1086 </menu_item_check>
1087 <menu_item_check name="Dynamic Textures" label="Dynamic Textures" 1087 <menu_item_check name="Dynamic Textures" label="Dynamic Textures"
1088 shortcut="control|alt|F4"> 1088 shortcut="alt|shift|F4">
1089 <on_click function="Advanced.ToggleFeature" 1089 <on_click function="Advanced.ToggleFeature"
1090 userdata="dynamic textures" /> 1090 userdata="dynamic textures" />
1091 <on_check function="Advanced.CheckFeature" 1091 <on_check function="Advanced.CheckFeature"
1092 userdata="dynamic textures" /> 1092 userdata="dynamic textures" />
1093 </menu_item_check> 1093 </menu_item_check>
1094 <menu_item_check name="Foot Shadows" label="Foot Shadows" 1094 <menu_item_check name="Foot Shadows" label="Foot Shadows"
1095 shortcut="control|alt|F5"> 1095 shortcut="alt|shift|F5">
1096 <on_click function="Advanced.ToggleFeature" 1096 <on_click function="Advanced.ToggleFeature"
1097 userdata="foot shadows" /> 1097 userdata="foot shadows" />
1098 <on_check function="Advanced.CheckFeature" 1098 <on_check function="Advanced.CheckFeature"
1099 userdata="foot shadows" /> 1099 userdata="foot shadows" />
1100 </menu_item_check> 1100 </menu_item_check>
1101 <menu_item_check name="Fog" label="Fog" 1101 <menu_item_check name="Fog" label="Fog"
1102 shortcut="control|alt|F6"> 1102 shortcut="alt|shift|F6">
1103 <on_click function="Advanced.ToggleFeature" 1103 <on_click function="Advanced.ToggleFeature"
1104 userdata="fog" /> 1104 userdata="fog" />
1105 <on_check function="Advanced.CheckFeature" 1105 <on_check function="Advanced.CheckFeature"
@@ -1107,14 +1107,14 @@
1107 </menu_item_check> 1107 </menu_item_check>
1108 <menu_item_check name="Palletized Textures" 1108 <menu_item_check name="Palletized Textures"
1109 label="Palletized Textures" 1109 label="Palletized Textures"
1110 shortcut="control|alt|F7"> 1110 shortcut="alt|shift|F7">
1111 <on_click function="Advanced.ToggleFeature" 1111 <on_click function="Advanced.ToggleFeature"
1112 userdata="palette" /> 1112 userdata="palette" />
1113 <on_check function="Advanced.CheckFeature" 1113 <on_check function="Advanced.CheckFeature"
1114 userdata="palette" /> 1114 userdata="palette" />
1115 </menu_item_check> 1115 </menu_item_check>
1116 <menu_item_check name="Test FRInfo" label="Test FRInfo" 1116 <menu_item_check name="Test FRInfo" label="Test FRInfo"
1117 shortcut="control|alt|F8"> 1117 shortcut="alt|shift|F8">
1118 <on_click function="Advanced.ToggleFeature" 1118 <on_click function="Advanced.ToggleFeature"
1119 userdata="fr info" /> 1119 userdata="fr info" />
1120 <on_check function="Advanced.CheckFeature" 1120 <on_check function="Advanced.CheckFeature"
@@ -1122,7 +1122,7 @@
1122 </menu_item_check> 1122 </menu_item_check>
1123 <menu_item_check name="Flexible Objects" 1123 <menu_item_check name="Flexible Objects"
1124 label="Flexible Objects" 1124 label="Flexible Objects"
1125 shortcut="control|alt|F9"> 1125 shortcut="alt|shift|F9">
1126 <on_click function="Advanced.ToggleFeature" 1126 <on_click function="Advanced.ToggleFeature"
1127 userdata="flexible" /> 1127 userdata="flexible" />
1128 <on_check function="Advanced.CheckFeature" 1128 <on_check function="Advanced.CheckFeature"