summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-x.hgtags107
-rw-r--r--BuildParams18
-rw-r--r--autobuild.xml12
-rw-r--r--indra/cmake/Boost.cmake2
-rw-r--r--indra/cmake/Copy3rdPartyLibs.cmake12
-rw-r--r--indra/cmake/GooglePerfTools.cmake2
-rw-r--r--indra/cmake/LLAddBuildTest.cmake10
-rw-r--r--indra/edit-me-to-trigger-new-build.txt1
-rw-r--r--indra/llcommon/CMakeLists.txt1
-rw-r--r--indra/llcommon/fix_macros.h25
-rw-r--r--indra/llcommon/linden_common.h4
-rw-r--r--indra/llcommon/llsys.cpp34
-rw-r--r--indra/llcommon/llversionviewer.h2
-rw-r--r--indra/llcorehttp/CMakeLists.txt4
-rw-r--r--indra/llcorehttp/_refcounted.h1
-rw-r--r--indra/llvfs/lldiriterator.cpp7
-rw-r--r--indra/llwindow/llwindowmacosx.h2
-rw-r--r--indra/llwindow/llwindowsdl.cpp3
-rw-r--r--indra/llwindow/llwindowsdl.h2
-rwxr-xr-xindra/newview/CMakeLists.txt16
-rwxr-xr-xindra/newview/app_settings/settings.xml2
-rwxr-xr-xindra/newview/llagent.cpp3
-rw-r--r--indra/newview/llappviewer.cpp2
-rw-r--r--indra/newview/llappviewerwin32.cpp2
-rw-r--r--indra/newview/lldirpicker.h2
-rw-r--r--indra/newview/llfilepicker.h2
-rw-r--r--indra/newview/llflexibleobject.cpp15
-rw-r--r--indra/newview/lllocalbitmaps.cpp4
-rw-r--r--indra/newview/llmenuoptionpathfindingrebakenavmesh.cpp238
-rw-r--r--indra/newview/llmenuoptionpathfindingrebakenavmesh.h (renamed from indra/newview/llpanelpathfindingrebakenavmesh.h)53
-rw-r--r--indra/newview/llpanelpathfindingrebakenavmesh.cpp269
-rw-r--r--indra/newview/llviewermenu.cpp34
-rw-r--r--indra/newview/llviewerobject.cpp13
-rw-r--r--indra/newview/llviewertexture.cpp37
-rwxr-xr-xindra/newview/llviewertexture.h1
-rwxr-xr-xindra/newview/llviewerwindow.cpp9
-rw-r--r--indra/newview/macutil_Prefix.h2
-rw-r--r--indra/newview/skins/default/xui/de/panel_navmesh_rebake.xml6
-rw-r--r--indra/newview/skins/default/xui/en/menu_object.xml40
-rw-r--r--indra/newview/skins/default/xui/en/menu_viewer.xml10
-rw-r--r--indra/newview/skins/default/xui/en/notifications.xml20
-rw-r--r--indra/newview/skins/default/xui/en/panel_navmesh_rebake.xml45
-rw-r--r--indra/newview/skins/default/xui/es/panel_navmesh_rebake.xml6
-rw-r--r--indra/newview/skins/default/xui/fr/panel_navmesh_rebake.xml6
-rw-r--r--indra/newview/skins/default/xui/it/panel_navmesh_rebake.xml6
-rw-r--r--indra/newview/skins/default/xui/ja/panel_navmesh_rebake.xml6
-rw-r--r--indra/newview/skins/default/xui/pt/panel_navmesh_rebake.xml6
-rw-r--r--indra/newview/skins/default/xui/ru/panel_navmesh_rebake.xml6
-rw-r--r--indra/newview/skins/default/xui/tr/panel_navmesh_rebake.xml6
-rw-r--r--indra/newview/viewer_manifest.py12
50 files changed, 523 insertions, 605 deletions
diff --git a/.hgtags b/.hgtags
index a1df0f9fc4..740260312a 100755
--- a/.hgtags
+++ b/.hgtags
@@ -72,35 +72,35 @@ b53a0576eec80614d7767ed72b40ed67aeff27c9 DRTVWR-38_2.5.2-release
461c8c65b5c799ddfe365422f9be9c0095d91e7d 2.6.0-beta1-tip
9e4641f4a7870c0f565a25a2971368d5a29516a1 2.6.0-beta2
9e4641f4a7870c0f565a25a2971368d5a29516a1 DRTVWR-41_2.6.0-beta2
+42f32494bac475d0737799346f6831558ae8bf5d 2.6.0-release
+42f32494bac475d0737799346f6831558ae8bf5d DRTVWR-39_2.6.0-release
c5bdef3aaa2744626aef3c217ce29e1900d357b3 2.6.1-beta1
c5bdef3aaa2744626aef3c217ce29e1900d357b3 2.6.1-start
c5bdef3aaa2744626aef3c217ce29e1900d357b3 DRTVWR-43_2.6.1-beta1
+c9182ed77d427c759cfacf49a7b71a2e20d522aa 2.6.1-release
+c9182ed77d427c759cfacf49a7b71a2e20d522aa DRTVWR-42_2.6.1-release
56b2778c743c2a964d82e1caf11084d76a87de2c 2.6.2-start
d1203046bb653b763f835b04d184646949d8dd5c 2.6.2-beta1
d1203046bb653b763f835b04d184646949d8dd5c DRTVWR-45_2.6.2-beta1
-42f32494bac475d0737799346f6831558ae8bf5d 2.6.0-release
-42f32494bac475d0737799346f6831558ae8bf5d DRTVWR-39_2.6.0-release
-c9182ed77d427c759cfacf49a7b71a2e20d522aa 2.6.1-release
-c9182ed77d427c759cfacf49a7b71a2e20d522aa DRTVWR-42_2.6.1-release
+214180ad5714ce8392b82bbebcc92f4babd98300 2.6.2-release
+214180ad5714ce8392b82bbebcc92f4babd98300 DRTVWR-44_2.6.2-release
52b2263ab28f0976c689fd0b76c55a9eb027cdbf end-of-develop.py
ec32f1045e7c2644015245df3a9933620aa194b8 2.6.3-start
d7fcefabdf32bb61a9ea6d6037c1bb26190a85bc 2.6.3-beta1
d7fcefabdf32bb61a9ea6d6037c1bb26190a85bc DRTVWR-47_2.6.3-beta1
0630e977504af5ea320c58d33cae4e1ddee793e9 2.6.3-beta2
0630e977504af5ea320c58d33cae4e1ddee793e9 DRTVWR-48_2.6.3-beta2
+8f2da1701c81a62352df2b8d413d27fb2cade9a6 2.6.3-release
+8f2da1701c81a62352df2b8d413d27fb2cade9a6 DRTVWR-46_2.6.3-release
3178e311da3a8739a85363665006ea3c4610cad4 dons-headless-hackathon-work
-214180ad5714ce8392b82bbebcc92f4babd98300 2.6.2-release
-214180ad5714ce8392b82bbebcc92f4babd98300 DRTVWR-44_2.6.2-release
7db558aaa7c176f2022b3e9cfe38ac72f6d1fccd 2.6.5-beta1
7db558aaa7c176f2022b3e9cfe38ac72f6d1fccd DRTVWR-50_2.6.5-beta1
-8f2da1701c81a62352df2b8d413d27fb2cade9a6 2.6.3-release
-8f2da1701c81a62352df2b8d413d27fb2cade9a6 DRTVWR-46_2.6.3-release
800cefce8d364ffdd2f383cbecb91294da3ea424 2.6.6-start
bb1075286b3b147b1dae2e3d6b2d56f04ff03f35 2.6.6-beta1
bb1075286b3b147b1dae2e3d6b2d56f04ff03f35 DRTVWR-52_2.6.6-beta1
-5e349dbe9cc84ea5795af8aeb6d473a0af9d4953 2.6.8-start
dac76a711da5f1489a01c1fa62ec97d99c25736d 2.6.6-release
dac76a711da5f1489a01c1fa62ec97d99c25736d DRTVWR-51_2.6.6-release
+5e349dbe9cc84ea5795af8aeb6d473a0af9d4953 2.6.8-start
beafa8a9bd1d1b670b7523d865204dc4a4b38eef 2.6.8-beta1
beafa8a9bd1d1b670b7523d865204dc4a4b38eef DRTVWR-55_2.6.8-beta1
be2000b946f8cb3de5f44b2d419287d4c48ec4eb 2.6.8-release
@@ -119,50 +119,50 @@ e67da2c6e3125966dd49eef98b36317afac1fcfe 2.6.9-start
9f79a6ed8fdcd2f3dac33ea6b3236eeb278dccfe 2.7.2-start
e0dc8b741eaa27dcdfbc9e956bb2579b954d15eb 2.7.2-beta1
e0dc8b741eaa27dcdfbc9e956bb2579b954d15eb DRTVWR-63_2.7.2-beta1
-6a3e7e403bd19e45fdfc2fcc716867af3ab80861 2.7.3-start
fe3a8e7973072ea62043c08b19b66626c1a720eb 2.7.1-release
fe3a8e7973072ea62043c08b19b66626c1a720eb 2.7.2-release
fe3a8e7973072ea62043c08b19b66626c1a720eb DRTVWR-60_2.7.1-release
fe3a8e7973072ea62043c08b19b66626c1a720eb DRTVWR-62_2.7.2-release
+6a3e7e403bd19e45fdfc2fcc716867af3ab80861 2.7.3-start
6af10678de4736222b2c3f7e010e984fb5b327de 2.7.4-start
be963a4eef635542f9617d7f5fd22ba48fb71958 2.7.4-beta1
be963a4eef635542f9617d7f5fd22ba48fb71958 DRTVWR-67_2.7.4-beta1
+057f319dd8eccdf63a54d99686c68cdcb31b6abc 2.7.4-release
+057f319dd8eccdf63a54d99686c68cdcb31b6abc DRTVWR-66_2.7.4-release
19a498fa62570f352d7d246f17e3c81cc1d82d8b 2.7.5-start
09984bfa6cae17e0f72d02b75c1b7393c65eecfc 2.7.5-beta1
09984bfa6cae17e0f72d02b75c1b7393c65eecfc DRTVWR-69_2.7.5-beta1
+6866d9df6efbd441c66451debd376d21211de39c 2.7.5-release
+6866d9df6efbd441c66451debd376d21211de39c DRTVWR-68_2.7.5-release
e1ed60913230dd64269a7f7fc52cbc6004f6d52c 2.8.0-beta1
e1ed60913230dd64269a7f7fc52cbc6004f6d52c 2.8.0-start
e1ed60913230dd64269a7f7fc52cbc6004f6d52c DRTVWR-71_2.8.0-beta1
-057f319dd8eccdf63a54d99686c68cdcb31b6abc 2.7.4-release
-057f319dd8eccdf63a54d99686c68cdcb31b6abc DRTVWR-66_2.7.4-release
-6866d9df6efbd441c66451debd376d21211de39c 2.7.5-release
-6866d9df6efbd441c66451debd376d21211de39c DRTVWR-68_2.7.5-release
+493d9127ee50e84ba08a736a65a23ca86f7a5b01 2.8.0-release
+493d9127ee50e84ba08a736a65a23ca86f7a5b01 DRTVWR-70_2.8.0-release
502f6a5deca9365ddae57db4f1e30172668e171e 2.8.1-start
2c7e459e0c883f8e406b932e41e60097e9ee077e 2.8.1-beta1
2c7e459e0c883f8e406b932e41e60097e9ee077e DRTVWR-73_2.8.1-beta1
-493d9127ee50e84ba08a736a65a23ca86f7a5b01 2.8.0-release
-493d9127ee50e84ba08a736a65a23ca86f7a5b01 DRTVWR-70_2.8.0-release
-54bc7823ad4e3a436fef79710f685a7372bbf795 2.8.2-start
-ac0f1a132d35c02a58861d37cca75b0429ac9137 2.8.3-start
29e93d7e19991011bd12b5748142b11a5dcb4370 2.8.1-release
29e93d7e19991011bd12b5748142b11a5dcb4370 DRTVWR-72_2.8.1-release
4780e3bd2b3042f91be3426151f28c30d199bb3b 2.8.1-hotfix
4780e3bd2b3042f91be3426151f28c30d199bb3b DRTVWR-76_2.8.1-hotfix
+54bc7823ad4e3a436fef79710f685a7372bbf795 2.8.2-start
+ac0f1a132d35c02a58861d37cca75b0429ac9137 2.8.3-start
599677276b227357140dda35bea4a2c18e2e67b5 2.8.3-beta1
599677276b227357140dda35bea4a2c18e2e67b5 DRTVWR-75_2.8.3-beta1
+fb85792b84bf28428889c4cc966469d92e5dac4c 2.8.3-release
+fb85792b84bf28428889c4cc966469d92e5dac4c DRTVWR-74_2.8.3-release
6b678ea52f90d5c14181661dcd2546e25bde483e 3.0.0-start
b0be6ce3adfef3a014a2389d360539f8a86c5439 3.0.0-beta1
b0be6ce3adfef3a014a2389d360539f8a86c5439 DRTVWR-78_3.0.0-beta1
-fb85792b84bf28428889c4cc966469d92e5dac4c 2.8.3-release
-fb85792b84bf28428889c4cc966469d92e5dac4c DRTVWR-74_2.8.3-release
+1778f26b6d0ae762dec3ca37140f66620f2485d9 3.0.0-release
+1778f26b6d0ae762dec3ca37140f66620f2485d9 DRTVWR-77_3.0.0-release
82a2079ffcb57ecb1b3849cb41376b443e1eb912 3.0.1-start
364fd63517fbacbbcb9129d096187171ba8c9e48 3.0.1-beta1
364fd63517fbacbbcb9129d096187171ba8c9e48 DRTVWR-81_3.0.1-beta1
f2412ecd6740803ea9452f1d17fd872e263a0df7 3.0.2-start
42784bf50fa01974bada2a1af3892ee09c93fcda 3.0.2-beta1
42784bf50fa01974bada2a1af3892ee09c93fcda DRTVWR-83_3.0.2-beta1
-1778f26b6d0ae762dec3ca37140f66620f2485d9 3.0.0-release
-1778f26b6d0ae762dec3ca37140f66620f2485d9 DRTVWR-77_3.0.0-release
e5c9af2d7980a99a71650be3a0cf7b2b3c3b897e 3.0.2-beta2
e5c9af2d7980a99a71650be3a0cf7b2b3c3b897e DRTVWR-86_3.0.2-beta2
b95ddac176ac944efdc85cbee94ac2e1eab44c79 3.0.3-start
@@ -170,9 +170,9 @@ b95ddac176ac944efdc85cbee94ac2e1eab44c79 3.0.3-start
6694f3f062aa45f64ab391d25a3eb3d5eb1b0871 DRTVWR-85_3.0.3-beta1
61aa7974df089e8621fe9a4c69bcdefdb3cc208a 3.0.3-beta2
61aa7974df089e8621fe9a4c69bcdefdb3cc208a DRTVWR-89_3.0.3-beta2
-586907287be581817b2422b5137971b22d54ea48 3.0.4-start
0496d2f74043cf4e6058e76ac3db03d44cff42ce 3.0.3-release
0496d2f74043cf4e6058e76ac3db03d44cff42ce DRTVWR-84_3.0.3-release
+586907287be581817b2422b5137971b22d54ea48 3.0.4-start
92a3aa04775438226399b19deee12ac3b5a62838 3.0.5-start
c7282e59f374ee904bd793c3c444455e3399b0c5 3.1.0-start
2657fa785bbfac115852c41bd0adaff74c2ad5da 3.1.0-beta1
@@ -193,11 +193,11 @@ e440cd1dfbd128d7d5467019e497f7f803640ad6 DRTVWR-95_3.2.0-beta1
c4911ec8cd81e676dfd2af438b3e065407a94a7a 3.2.1-start
9e390d76807fa70d356b8716fb83b8ce42a629ef 3.2.1-beta1
9e390d76807fa70d356b8716fb83b8ce42a629ef DRTVWR-100_3.2.1-beta1
+a8c7030d6845186fac7c188be4323a0e887b4184 3.2.1-release
+a8c7030d6845186fac7c188be4323a0e887b4184 DRTVWR-99_3.2.1-release
40b46edba007d15d0059c80864b708b99c1da368 3.2.2-start
523df3e67378541498d516d52af4402176a26bac 3.2.2-beta1
523df3e67378541498d516d52af4402176a26bac DRTVWR-102_3.2.2-beta1
-a8c7030d6845186fac7c188be4323a0e887b4184 3.2.1-release
-a8c7030d6845186fac7c188be4323a0e887b4184 DRTVWR-99_3.2.1-release
80f3e30d8aa4d8f674a48bd742aaa6d8e9eae0b5 3.2.3-start
3fe994349fae64fc40874bb59db387131eb35a41 3.2.4-beta1
3fe994349fae64fc40874bb59db387131eb35a41 3.2.4-start
@@ -248,57 +248,67 @@ bb9932a7a5fd00edf52d95f354e3b37ae6a942db DRTVWR-156
6414ecdabc5d89515b08d1f872cf923ed3a5523a DRTVWR-148
2a3965b3ad202df7ea25d2be689291bb14a1280e DRTVWR-155
24a7281bef42bd4430ceb25db8b195449c2c7de3 DRTVWR-153
+a716684aa7c07c440b1de5815b8a1f3dd3fd8bfb DRTVWR-159
+9a78ac13f047056f788c4734dd91aebfe30970e3 DRTVWR-157
5910f8063a7e1ddddf504c2f35ca831cc5e8f469 DRTVWR-160
f0a174c2adb4bc39b16722a61d7eeb4f2a1d4843 3.3.3-beta1
f0a174c2adb4bc39b16722a61d7eeb4f2a1d4843 DRTVWR-144
-2d6c0634b11e6f3df11002b8510a72a0433da00a DRTVWR-164
+089e5c84b2dece68f2b016c842ef9b5de4786842 DRTVWR-161
600f3b3920d94de805ac6dc8bb6def9c069dd360 DRTVWR-162
+c08e2ac17a99973b2a94477659220b99b8847ae2 DRTVWR-163
+2d6c0634b11e6f3df11002b8510a72a0433da00a DRTVWR-164
80b5e5e9775966d3839331ffa7a16a60f9d7c930 DRTVWR-165
fdcc08a4f20ae9bb060f4693c8980d216534efdf 3.3.3-beta2
af5f3e43e6e4424b1da19d9e16f6b853a7b822ed DRTVWR-169
4b3c68199a86cabaa5d9466d7b0f7e141e901d7a 3.3.3-beta3
6428242e124b523813bfaf4c45b3d422f0298c81 3.3.3-release
-a716684aa7c07c440b1de5815b8a1f3dd3fd8bfb DRTVWR-159
-9a78ac13f047056f788c4734dd91aebfe30970e3 DRTVWR-157
-089e5c84b2dece68f2b016c842ef9b5de4786842 DRTVWR-161
-c08e2ac17a99973b2a94477659220b99b8847ae2 DRTVWR-163
b9d0170b62eb1c7c3adaa37a0b13a833e5e659f9 DRTVWR-171
050e48759337249130f684b4a21080b683f61732 DRTVWR-168
09ef7fd1b0781f33b8a3a9af6236b7bcb4831910 DRTVWR-170
f87bfbe0b62d26f451d02a47c80ebef6b9168fc2 DRTVWR-158
f91d003091a61937a044652c4c674447f7dcbb7a 3.3.4-beta1
+005dfe5c4c377207d065fb27858d2eb0b53b143a DRTVWR-167
bce218b2b45b730b22cc51e4807aa8b571cadef3 DRTVWR-173
cbea6356ce9cb0c313b6777f10c5c14783264fcc DRTVWR-174
82b5330bc8b17d0d4b598832e9c5a92e90075682 3.3.4-beta2
57d221de3df94f90b55204313c2cef044a3c0ae2 DRTVWR-176
eb539c65e6ee26eea2bf373af2d0f4b52dc91289 DRTVWR-177
a8057e1b9a1246b434a27405be35e030f7d28b0c 3.3.4-beta3
+888768f162d2c0a8de1dcc5fb9a08bd8bd120a6b DRTVWR-175
4281aa899fb2cedb7a9ca7ce91c5c29d4aa69594 DRTVWR-180
5c08e1d8edd871807153603b690e3ee9dbb548aa DRTVWR-183
6c75f220b103db1420919c8b635fe53e2177f318 3.3.4-beta4
9cd174d3a54d93d409a7c346a15b8bfb40fc58f4 DRTVWR-184
ab2ffc547c8a8950ff187c4f6c95e5334fab597b 3.3.4-beta5
28e100d0379a2b0710c57647a28fc5239d3d7b99 3.3.4-release
-005dfe5c4c377207d065fb27858d2eb0b53b143a DRTVWR-167
-888768f162d2c0a8de1dcc5fb9a08bd8bd120a6b DRTVWR-175
a8b3eca451a9eaab59987efb0ab1c4217e3f2dcc DRTVWR-182
1f27cdfdc54246484f8afbbe42ce48e954175cbd 3.4.0-beta1
-9ee9387789701d597130f879d9011a4958753862 DRTVWR-189
+81f6b745ef27f5915fd07f988fdec9944f2bb73e DRTVWR-186
47f0d08ba7ade0a3905074009067c6d3df7e16ae DRTVWR-190
+cc953f00956be52cc64c30637bbeec310eea603f DRTVWR-181
+c04e68e1b0034fd0a20815ae24c77e5f8428e822 DRTVWR-188
+9ee9387789701d597130f879d9011a4958753862 DRTVWR-189
421126293dcbde918e0da027ca0ab9deb5b4fbf2 DRTVWR-192
+4b2c52aecb7a75de31dbb12d9f5b9a251d8707be DRTVWR-191
33a2fc7a910ae29ff8b4850316ed7fbff9f64d33 DRTVWR-195
e9732c739c8a72a590216951505ea9c76a526a84 DRTVWR-193
+78ca0bbf43a92e8914d4cfa87d69a6717ef7d4cf DRTVWR-194
7602f61c804a512764e349c034c02ddabeefebc4 DRTVWR-196
ae5c83dd61d2d37c45f1d5b8bf2b036d87599f1b DRTVWR-198
507bdfbd6bf844a511c1ffeda4baa80016ed1346 DRTVWR-197
b1dbb1a83f48f93f6f878cff9e52d2cb635e145c 3.4.0-beta2
37402e2b19af970d51b0a814d79892cc5647532b DRTVWR-200
182a9bf30e81070361bb020a78003b1cf398e79c 3.4.0-beta3
+248f4acd92a706c79e842bc83d80baa7369c0c2e DRTVWR-203
6dfb0fba782c9233dd95f24ec48146db0d3f210b DRTVWR-199
7c9102fb998885621919f2474a002c35b583539b 3.3.4-release2
7649a3dff5ec22d3727377e5f02efd0f421e4cb5 DRTVWR-201
84fb70dfe3444e75a44fb4bee43e2fc8221cebdd 3.4.0-beta4
+de3be913f68813a9bac7d1c671fef96d1159bcd6 DRTVWR-202
573e863be2f26d3687161def4b9fea9b7038dda8 3.4.0-beta5
+34dbbe2b00afe90352d3acf8290eb10ab90d1c8b oz-build-test-tag
+6ee71714935ffcd159db3d4f5800c1929aac54e1 DRTVWR-205
+7b22c612fc756e0ea63b10b163e81d107f85dbf8 DRTVWR-206
8c9085066c78ed5f6c9379dc054c82a6fcdb1851 DRTVWR-207
351eea5f9dc192fc5ddea3b02958de97677a0a12 3.3.4-release3
af7b28e75bd5a629cd9e0dc46fb3f1757626f493 DRTVWR-212
@@ -309,6 +319,7 @@ ceed0b65a69f1eac20d523e0203320a32f9a3f3c DRTVWR-215
97977c67245f52db20eb15f1918cc0f24778cabc 3.4.0-release
5adb2b8f96c3cac88ad7c7d996d707f1b29df336 3.4.1-beta1
b3f74858a1c8720c82d0978f3877a3fc8ba459ec 3.4.1-beta1a
+b61afe175b829c149d369524a4e974dfda99facf DRTVWR-219
2b779f233ee6f38c89cb921650c773a96e63da92 DRTVWR-220
0b9d95f4bfb6867cbf56eaec51633b0da2f1262d DRTVWR-221
e6e553761829dc0270eaaa712b7cb0622535b076 3.4.1-beta3
@@ -333,36 +344,31 @@ baf97f06ae17223614c5e31aa42e71d87cff07fe DRTVWR-236
b2f21e3442542283a80e7eaebae9f833e5a927b6 DRTVWR-237
3f9be82de642d468c5fc272cb9d96b46b5498402 3.4.1-beta12
e59ffd3fe0838ae6b09b242a6e9df71761b88f41 3.4.1-release
-81f6b745ef27f5915fd07f988fdec9944f2bb73e DRTVWR-186
-cc953f00956be52cc64c30637bbeec310eea603f DRTVWR-181
-c04e68e1b0034fd0a20815ae24c77e5f8428e822 DRTVWR-188
-4b2c52aecb7a75de31dbb12d9f5b9a251d8707be DRTVWR-191
-78ca0bbf43a92e8914d4cfa87d69a6717ef7d4cf DRTVWR-194
-248f4acd92a706c79e842bc83d80baa7369c0c2e DRTVWR-203
-de3be913f68813a9bac7d1c671fef96d1159bcd6 DRTVWR-202
-34dbbe2b00afe90352d3acf8290eb10ab90d1c8b oz-build-test-tag
-6ee71714935ffcd159db3d4f5800c1929aac54e1 DRTVWR-205
-7b22c612fc756e0ea63b10b163e81d107f85dbf8 DRTVWR-206
-b61afe175b829c149d369524a4e974dfda99facf DRTVWR-219
32896d5e920ca9a29256ff3b747c2e99752aa5ae DRTVWR-217
704bbae7b182a1f2811a47a054e680522966f54a 3.4.2-beta1
+d799593b53ed733862e9a13871e318e886469377 DRTVWR-208
+e497dcde7a3653e384eb223a8a460030e89c294c DRTVWR-223
288539fc0408ed4b69a99665de33bbbc2c3c08fe DRTVWR-216
e664473c16df1d82ffaff382e7b3e023da202d52 3.4.2-beta2
+93ab02d83f51e30a3cabad98aff89601befd9413 DRTVWR-240
0891d7a773a31397dcad48be3fa66531d567a821 DRTVWR-242
710785535362b3cb801b6a3dc4703be3373bd0cd 3.4.2-beta3
-e9a5886052433d5db9e504ffaca10890f9932979 DRTVWR-243
-73b84b9864dc650fe7c8fc9f52361450f0849004 3.4.2-beta4
-16310aabccf315870f7cc9bf966926c0ad6954fa 3.4.2-release
-d799593b53ed733862e9a13871e318e886469377 DRTVWR-208
-e497dcde7a3653e384eb223a8a460030e89c294c DRTVWR-223
-93ab02d83f51e30a3cabad98aff89601befd9413 DRTVWR-240
2aa72e3372a83dece4df9cf72fb1e7c34f90b5e3 DRTVWR-209
f7bedce18ad52283e6072814db23318907261487 DRTVWR-238
7b64c96fbcadf360bd2feaae19d330166b70877c DRTVWR-210
+e9a5886052433d5db9e504ffaca10890f9932979 DRTVWR-243
+73b84b9864dc650fe7c8fc9f52361450f0849004 3.4.2-beta4
+16310aabccf315870f7cc9bf966926c0ad6954fa 3.4.2-release
5e4e4128b256525bafc07a62e35ae8527aaa9c9d DRTVWR-241
f1d3b3fcab28ed9ea532bf50db0ba96f5c8cc8e9 DRTVWR-232
4918b150e75df6b516fb6c2616d32043fa6b4cac DRTVWR-245
94ab2b49458ab372a95d2d6949fdf574f413068d 3.4.3-beta1
+4c3460cb1fb7c6da9965e09c734d282a8e9c81f0 DRTVWR-229
+f4481df42f9a4a92bf475a80f0c51d1a4bbdfd59 DRTVWR-246
+39c5204b6e800983a41ccac8ad6dc993120197c6 DRTVWR-247
+7c7d57d393e8ae7b61623279de06eb4a62ccae6a DRTVWR-249
+f72b50ef168c159d6e79e97aa2bcafaf8577ab99 DRTVWR-230
+b418be80903520c492e1173f3afbc4021cad5d07 DRTVWR-255
965b9a35e260c0f53be1a25f0db7abc8a67eaf47 DRTVWR-252
bb10adc4f76cf0067fca7075146f00cdc0740e9d DRTVWR-251
ab0aa2f6ba22b52fed30a2337197f589156edc75 DRTVWR-253
@@ -372,4 +378,5 @@ ab0aa2f6ba22b52fed30a2337197f589156edc75 DRTVWR-253
c23d734065ed593b2413385aecd8366d8e0ee96b DRTVWR-257
452ce96d4046dc05a3ecaecc203e2cc8ddd72e76 DRTVWR-259
5cba5f39d0a81d659f24ebc4b5efd025a39e3db1 3.4.3-release
+9aa1aa9f1fe13c194695a0b8f0af298296241dc2 DRTVWR-260
18c5f76ac07937e0b64bb874edba0d60a28cec56 DRTVWR-244
diff --git a/BuildParams b/BuildParams
index e63336cb19..c8edfeaa2f 100644
--- a/BuildParams
+++ b/BuildParams
@@ -21,13 +21,8 @@ email_status_this_is_os = true
# Limit extent of codeticket updates to revisions after...
codeticket_since = 3.3.0-release
-clean_on_success = false
-run_tests = false
-build_Darwin_Debug = false
-build_Darwin_RelWithDebInfo = false
-
# ========================================
-# Viewer Development --
+# Viewer Development
# ========================================
# Report changes since...
@@ -122,17 +117,6 @@ viewer-mesh.viewer_grid = aditi
viewer-mesh.email = shining@lists.lindenlab.com
# ========================================
-# viewer-adult-check
-# ========================================
-
-viewer-adult-check.viewer_channel = "Project Viewer - AdultCheck"
-viewer-adult-check.login_channel = "Project Viewer - AdultCheck"
-viewer-adult-check.viewer_grid = agni
-viewer-adult-check.build_debug_release_separately = true
-viewer-adult-check.build_CYGWIN_Debug = false
-viewer-adult-check.build_viewer_update_version_manager = false
-
-# ========================================
# viewer-pathfinding
# ========================================
diff --git a/autobuild.xml b/autobuild.xml
index 9a92614dfd..fb0de9feb2 100644
--- a/autobuild.xml
+++ b/autobuild.xml
@@ -186,9 +186,9 @@
<key>archive</key>
<map>
<key>hash</key>
- <string>36aa500e13cdde61607b6e93065206ec</string>
+ <string>610d3c3790b39d44b45ed1e471f7b34d</string>
<key>url</key>
- <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-boost/rev/261457/arch/Darwin/installer/boost-1.48.0-darwin-20120710.tar.bz2</string>
+ <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-boost/rev/267115/arch/Darwin/installer/boost-1.52.0-darwin-20121117.tar.bz2</string>
</map>
<key>name</key>
<string>darwin</string>
@@ -198,9 +198,9 @@
<key>archive</key>
<map>
<key>hash</key>
- <string>18602d44bd435eb0d7189f436ff2cb0f</string>
+ <string>86b9108ab71bd6551365d1706e2fb178</string>
<key>url</key>
- <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-boost/rev/261457/arch/Linux/installer/boost-1.48.0-linux-20120710.tar.bz2</string>
+ <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-boost/rev/267115/arch/Linux/installer/boost-1.52.0-linux-20121117.tar.bz2</string>
</map>
<key>name</key>
<string>linux</string>
@@ -210,9 +210,9 @@
<key>archive</key>
<map>
<key>hash</key>
- <string>dc8f5dc6be04c64bf3460b4932b18457</string>
+ <string>a3bf306ebd14036a93f7894f898a862c</string>
<key>url</key>
- <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-boost/rev/261457/arch/CYGWIN/installer/boost-1.48.0-windows-20120710.tar.bz2</string>
+ <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/3p-boost/rev/267115/arch/CYGWIN/installer/boost-1.52.0-windows-20121117.tar.bz2</string>
</map>
<key>name</key>
<string>windows</string>
diff --git a/indra/cmake/Boost.cmake b/indra/cmake/Boost.cmake
index 2af0bc1b30..1acb2bbbfd 100644
--- a/indra/cmake/Boost.cmake
+++ b/indra/cmake/Boost.cmake
@@ -16,9 +16,9 @@ if (STANDALONE)
else (STANDALONE)
use_prebuilt_binary(boost)
set(Boost_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include)
+ set(BOOST_VERSION "1.52")
if (WINDOWS)
- set(BOOST_VERSION 1_48)
if(MSVC80)
set(BOOST_PROGRAM_OPTIONS_LIBRARY
optimized libboost_program_options-vc80-mt-${BOOST_VERSION}
diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake
index a5483ba678..c32e357da3 100644
--- a/indra/cmake/Copy3rdPartyLibs.cmake
+++ b/indra/cmake/Copy3rdPartyLibs.cmake
@@ -254,12 +254,12 @@ elseif(LINUX)
libapr-1.so.0
libaprutil-1.so.0
libatk-1.0.so
- libboost_program_options-mt.so.1.48.0
- libboost_regex-mt.so.1.48.0
- libboost_thread-mt.so.1.48.0
- libboost_filesystem-mt.so.1.48.0
- libboost_signals-mt.so.1.48.0
- libboost_system-mt.so.1.48.0
+ libboost_program_options-mt.so.${BOOST_VERSION}.0
+ libboost_regex-mt.so.${BOOST_VERSION}.0
+ libboost_thread-mt.so.${BOOST_VERSION}.0
+ libboost_filesystem-mt.so.${BOOST_VERSION}.0
+ libboost_signals-mt.so.${BOOST_VERSION}.0
+ libboost_system-mt.so.${BOOST_VERSION}.0
libbreakpad_client.so.0
libcollada14dom.so
libcrypto.so.1.0.0
diff --git a/indra/cmake/GooglePerfTools.cmake b/indra/cmake/GooglePerfTools.cmake
index 09501e0406..73b3642ae6 100644
--- a/indra/cmake/GooglePerfTools.cmake
+++ b/indra/cmake/GooglePerfTools.cmake
@@ -3,7 +3,7 @@ include(Prebuilt)
# If you want to enable or disable TCMALLOC in viewer builds, this is the place.
# set ON or OFF as desired.
-set (USE_TCMALLOC ON)
+set (USE_TCMALLOC OFF)
if (STANDALONE)
include(FindGooglePerfTools)
diff --git a/indra/cmake/LLAddBuildTest.cmake b/indra/cmake/LLAddBuildTest.cmake
index 543075db5b..21a0c8a9ca 100644
--- a/indra/cmake/LLAddBuildTest.cmake
+++ b/indra/cmake/LLAddBuildTest.cmake
@@ -201,19 +201,13 @@ FUNCTION(LL_ADD_INTEGRATION_TEST
endif(TEST_DEBUG)
ADD_EXECUTABLE(INTEGRATION_TEST_${testname} ${source_files})
SET_TARGET_PROPERTIES(INTEGRATION_TEST_${testname} PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${EXE_STAGING_DIR}")
- if (WINDOWS)
- set_target_properties(INTEGRATION_TEST_${testname}
- PROPERTIES
- LINK_FLAGS "/debug /NODEFAULTLIB:LIBCMT /SUBSYSTEM:WINDOWS /INCLUDE:__tcmalloc"
- LINK_FLAGS_DEBUG "/NODEFAULTLIB:\"LIBCMT;LIBCMTD;MSVCRT\" /INCREMENTAL:NO"
- LINK_FLAGS_RELEASE ""
- )
- endif(WINDOWS)
if(STANDALONE)
SET_TARGET_PROPERTIES(INTEGRATION_TEST_${testname} PROPERTIES COMPILE_FLAGS -I"${TUT_INCLUDE_DIR}")
endif(STANDALONE)
+ # The following was copied to llcorehttp/CMakeLists.txt's texture_load target.
+ # Any changes made here should be replicated there.
if (WINDOWS)
SET_TARGET_PROPERTIES(INTEGRATION_TEST_${testname}
PROPERTIES
diff --git a/indra/edit-me-to-trigger-new-build.txt b/indra/edit-me-to-trigger-new-build.txt
index e69de29bb2..0f6a8b8a1d 100644
--- a/indra/edit-me-to-trigger-new-build.txt
+++ b/indra/edit-me-to-trigger-new-build.txt
@@ -0,0 +1 @@
+Wed Nov 7 00:25:19 UTC 2012
diff --git a/indra/llcommon/CMakeLists.txt b/indra/llcommon/CMakeLists.txt
index 36a8319189..66e2bc9095 100644
--- a/indra/llcommon/CMakeLists.txt
+++ b/indra/llcommon/CMakeLists.txt
@@ -116,6 +116,7 @@ set(llcommon_HEADER_FILES
bitpack.h
ctype_workaround.h
doublelinkedlist.h
+ fix_macros.h
imageids.h
indra_constants.h
linden_common.h
diff --git a/indra/llcommon/fix_macros.h b/indra/llcommon/fix_macros.h
new file mode 100644
index 0000000000..ef959decff
--- /dev/null
+++ b/indra/llcommon/fix_macros.h
@@ -0,0 +1,25 @@
+/**
+ * @file fix_macros.h
+ * @author Nat Goodspeed
+ * @date 2012-11-16
+ * @brief The Mac system headers seem to #define macros with obnoxiously
+ * generic names, preventing any library from using those names. We've
+ * had to fix these in so many places that it's worth making a header
+ * file to handle it.
+ *
+ * $LicenseInfo:firstyear=2012&license=viewerlgpl$
+ * Copyright (c) 2012, Linden Research, Inc.
+ * $/LicenseInfo$
+ */
+
+// DON'T use an #include guard: every time we encounter this header, #undef
+// these macros all over again.
+
+// who injects MACROS with such generic names?! Grr.
+#ifdef equivalent
+#undef equivalent
+#endif
+
+#ifdef check
+#undef check
+#endif
diff --git a/indra/llcommon/linden_common.h b/indra/llcommon/linden_common.h
index f0a5603d06..5cfcdab41c 100644
--- a/indra/llcommon/linden_common.h
+++ b/indra/llcommon/linden_common.h
@@ -59,8 +59,4 @@
#include "llerror.h"
#include "llfile.h"
-// Boost 1.45 had version 2 as the default for the filesystem library,
-// 1.48 has version 3 as the default. Keep compatibility for now.
-#define BOOST_FILESYSTEM_VERSION 2
-
#endif
diff --git a/indra/llcommon/llsys.cpp b/indra/llcommon/llsys.cpp
index 6073bcd0a6..c96f2191f3 100644
--- a/indra/llcommon/llsys.cpp
+++ b/indra/llcommon/llsys.cpp
@@ -944,13 +944,15 @@ LLSD LLMemoryInfo::loadStatsMap()
state.dwLength = sizeof(state);
GlobalMemoryStatusEx(&state);
- stats.add("Percent Memory use", state.dwMemoryLoad);
- stats.add("Total Physical KB", state.ullTotalPhys/1024);
- stats.add("Avail Physical KB", state.ullAvailPhys/1024);
- stats.add("Total page KB", state.ullTotalPageFile/1024);
- stats.add("Avail page KB", state.ullAvailPageFile/1024);
- stats.add("Total Virtual KB", state.ullTotalVirtual/1024);
- stats.add("Avail Virtual KB", state.ullAvailVirtual/1024);
+ DWORDLONG div = 1024;
+
+ stats.add("Percent Memory use", state.dwMemoryLoad/div);
+ stats.add("Total Physical KB", state.ullTotalPhys/div);
+ stats.add("Avail Physical KB", state.ullAvailPhys/div);
+ stats.add("Total page KB", state.ullTotalPageFile/div);
+ stats.add("Avail page KB", state.ullAvailPageFile/div);
+ stats.add("Total Virtual KB", state.ullTotalVirtual/div);
+ stats.add("Avail Virtual KB", state.ullAvailVirtual/div);
PERFORMANCE_INFORMATION perf;
perf.cb = sizeof(perf);
@@ -982,15 +984,15 @@ LLSD LLMemoryInfo::loadStatsMap()
GetProcessMemoryInfo(GetCurrentProcess(), PPROCESS_MEMORY_COUNTERS(&pmem), sizeof(pmem));
stats.add("Page Fault Count", pmem.PageFaultCount);
- stats.add("PeakWorkingSetSize KB", pmem.PeakWorkingSetSize/1024);
- stats.add("WorkingSetSize KB", pmem.WorkingSetSize/1024);
- stats.add("QutaPeakPagedPoolUsage KB", pmem.QuotaPeakPagedPoolUsage/1024);
- stats.add("QuotaPagedPoolUsage KB", pmem.QuotaPagedPoolUsage/1024);
- stats.add("QuotaPeakNonPagedPoolUsage KB", pmem.QuotaPeakNonPagedPoolUsage/1024);
- stats.add("QuotaNonPagedPoolUsage KB", pmem.QuotaNonPagedPoolUsage/1024);
- stats.add("PagefileUsage KB", pmem.PagefileUsage/1024);
- stats.add("PeakPagefileUsage KB", pmem.PeakPagefileUsage/1024);
- stats.add("PrivateUsage KB", pmem.PrivateUsage/1024);
+ stats.add("PeakWorkingSetSize KB", pmem.PeakWorkingSetSize/div);
+ stats.add("WorkingSetSize KB", pmem.WorkingSetSize/div);
+ stats.add("QutaPeakPagedPoolUsage KB", pmem.QuotaPeakPagedPoolUsage/div);
+ stats.add("QuotaPagedPoolUsage KB", pmem.QuotaPagedPoolUsage/div);
+ stats.add("QuotaPeakNonPagedPoolUsage KB", pmem.QuotaPeakNonPagedPoolUsage/div);
+ stats.add("QuotaNonPagedPoolUsage KB", pmem.QuotaNonPagedPoolUsage/div);
+ stats.add("PagefileUsage KB", pmem.PagefileUsage/div);
+ stats.add("PeakPagefileUsage KB", pmem.PeakPagefileUsage/div);
+ stats.add("PrivateUsage KB", pmem.PrivateUsage/div);
#elif LL_DARWIN
diff --git a/indra/llcommon/llversionviewer.h b/indra/llcommon/llversionviewer.h
index 91008eb5d6..8585af0a29 100644
--- a/indra/llcommon/llversionviewer.h
+++ b/indra/llcommon/llversionviewer.h
@@ -29,7 +29,7 @@
const S32 LL_VERSION_MAJOR = 3;
const S32 LL_VERSION_MINOR = 4;
-const S32 LL_VERSION_PATCH = 3;
+const S32 LL_VERSION_PATCH = 4;
const S32 LL_VERSION_BUILD = 0;
const char * const LL_CHANNEL = "Second Life Developer";
diff --git a/indra/llcorehttp/CMakeLists.txt b/indra/llcorehttp/CMakeLists.txt
index 8632a2b722..9adfd0ed62 100644
--- a/indra/llcorehttp/CMakeLists.txt
+++ b/indra/llcorehttp/CMakeLists.txt
@@ -130,6 +130,7 @@ if (LL_TESTS)
${CARES_LIBRARIES}
${OPENSSL_LIBRARIES}
${CRYPTO_LIBRARIES}
+ ${BOOST_SYSTEM_LIBRARY}
${BOOST_THREAD_LIBRARY}
)
@@ -157,6 +158,7 @@ if (LL_TESTS)
${CARES_LIBRARIES}
${OPENSSL_LIBRARIES}
${CRYPTO_LIBRARIES}
+ ${BOOST_SYSTEM_LIBRARY}
${BOOST_THREAD_LIBRARY}
)
@@ -172,7 +174,7 @@ if (LL_TESTS)
# The following come from LLAddBuildTest.cmake's INTEGRATION_TEST_xxxx target.
set_target_properties(http_texture_load
PROPERTIES
- LINK_FLAGS "/debug /NODEFAULTLIB:LIBCMT /SUBSYSTEM:WINDOWS /INCLUDE:__tcmalloc"
+ LINK_FLAGS "/debug /NODEFAULTLIB:LIBCMT /SUBSYSTEM:WINDOWS ${TCMALLOC_LINK_FLAGS}"
LINK_FLAGS_DEBUG "/NODEFAULTLIB:\"LIBCMT;LIBCMTD;MSVCRT\" /INCREMENTAL:NO"
LINK_FLAGS_RELEASE ""
)
diff --git a/indra/llcorehttp/_refcounted.h b/indra/llcorehttp/_refcounted.h
index a96c65fb6b..21a916b13b 100644
--- a/indra/llcorehttp/_refcounted.h
+++ b/indra/llcorehttp/_refcounted.h
@@ -30,6 +30,7 @@
#include "linden_common.h"
+#include "fix_macros.h"
#include <boost/thread.hpp>
#include "llapr.h"
diff --git a/indra/llvfs/lldiriterator.cpp b/indra/llvfs/lldiriterator.cpp
index ff92cbb7fd..460d2a8b4f 100644
--- a/indra/llvfs/lldiriterator.cpp
+++ b/indra/llvfs/lldiriterator.cpp
@@ -26,6 +26,7 @@
#include "lldiriterator.h"
+#include "fix_macros.h"
#include <boost/filesystem.hpp>
#include <boost/regex.hpp>
@@ -59,7 +60,7 @@ LLDirIterator::Impl::Impl(const std::string &dirname, const std::string &mask)
{
is_dir = fs::is_directory(dir_path);
}
- catch (fs::basic_filesystem_error<fs::path>& e)
+ catch (const fs::filesystem_error& e)
{
llwarns << e.what() << llendl;
return;
@@ -76,7 +77,7 @@ LLDirIterator::Impl::Impl(const std::string &dirname, const std::string &mask)
{
mIter = fs::directory_iterator(dir_path);
}
- catch (fs::basic_filesystem_error<fs::path>& e)
+ catch (const fs::filesystem_error& e)
{
llwarns << e.what() << llendl;
return;
@@ -121,7 +122,7 @@ bool LLDirIterator::Impl::next(std::string &fname)
while (mIter != end_itr && !found)
{
boost::smatch match;
- std::string name = mIter->path().filename();
+ std::string name = mIter->path().filename().string();
if (found = boost::regex_match(name, match, mFilterExp))
{
fname = name;
diff --git a/indra/llwindow/llwindowmacosx.h b/indra/llwindow/llwindowmacosx.h
index 52ba8b3bf3..af83b50097 100644
--- a/indra/llwindow/llwindowmacosx.h
+++ b/indra/llwindow/llwindowmacosx.h
@@ -36,8 +36,8 @@
#include <AGL/agl.h>
// AssertMacros.h does bad things.
+#include "fix_macros.h"
#undef verify
-#undef check
#undef require
diff --git a/indra/llwindow/llwindowsdl.cpp b/indra/llwindow/llwindowsdl.cpp
index 3bf4a48cb6..39f8a36a6e 100644
--- a/indra/llwindow/llwindowsdl.cpp
+++ b/indra/llwindow/llwindowsdl.cpp
@@ -2646,8 +2646,9 @@ std::vector<std::string> LLWindowSDL::getDynamicFallbackFontList()
if (sortpat)
{
// Sort the list of system fonts from most-to-least-desirable.
+ FcResult result;
fs = FcFontSort(NULL, sortpat, elide_unicode_coverage,
- NULL, NULL);
+ NULL, &result);
FcPatternDestroy(sortpat);
}
diff --git a/indra/llwindow/llwindowsdl.h b/indra/llwindow/llwindowsdl.h
index 4e2a269ea3..c5ce892a04 100644
--- a/indra/llwindow/llwindowsdl.h
+++ b/indra/llwindow/llwindowsdl.h
@@ -41,8 +41,8 @@
#endif
// AssertMacros.h does bad things.
+#include "fix_macros.h"
#undef verify
-#undef check
#undef require
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index 7eea9ece5a..dff2c04fbc 100755
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -337,6 +337,7 @@ set(viewer_SOURCE_FILES
llmediactrl.cpp
llmediadataclient.cpp
llmemoryview.cpp
+ llmenuoptionpathfindingrebakenavmesh.cpp
llmeshrepository.cpp
llmimetypes.cpp
llmorphview.cpp
@@ -401,7 +402,6 @@ set(viewer_SOURCE_FILES
llpanelonlinestatus.cpp
llpaneloutfitedit.cpp
llpaneloutfitsinventory.cpp
- llpanelpathfindingrebakenavmesh.cpp
llpanelpeople.cpp
llpanelpeoplemenus.cpp
llpanelpermissions.cpp
@@ -914,6 +914,7 @@ set(viewer_HEADER_FILES
llmediactrl.h
llmediadataclient.h
llmemoryview.h
+ llmenuoptionpathfindingrebakenavmesh.h
llmeshrepository.h
llmimetypes.h
llmorphview.h
@@ -972,7 +973,6 @@ set(viewer_HEADER_FILES
llpanelonlinestatus.h
llpaneloutfitedit.h
llpaneloutfitsinventory.h
- llpanelpathfindingrebakenavmesh.h
llpanelpeople.h
llpanelpeoplemenus.h
llpanelpermissions.h
@@ -1569,9 +1569,9 @@ if (WINDOWS)
set_target_properties(${VIEWER_BINARY_NAME}
PROPERTIES
# *TODO -reenable this once we get server usage sorted out
- LINK_FLAGS "/debug /NODEFAULTLIB:LIBCMT /SUBSYSTEM:WINDOWS ${TCMALLOC_LINK_FLAGS}"
- LINK_FLAGS_DEBUG "/NODEFAULTLIB:\"LIBCMT;LIBCMTD;MSVCRT\" /INCREMENTAL:NO"
- LINK_FLAGS_RELEASE "/FORCE:MULTIPLE /MAP\"secondlife-bin.MAP\" /OPT:REF"
+ LINK_FLAGS "/debug /NODEFAULTLIB:LIBCMT /SUBSYSTEM:WINDOWS ${TCMALLOC_LINK_FLAGS} /LARGEADDRESSAWARE"
+ LINK_FLAGS_DEBUG "/NODEFAULTLIB:\"LIBCMT;LIBCMTD;MSVCRT\" /INCREMENTAL:NO /LARGEADDRESSAWARE"
+ LINK_FLAGS_RELEASE "/FORCE:MULTIPLE /MAP\"secondlife-bin.MAP\" /OPT:REF /LARGEADDRESSAWARE"
)
if(USE_PRECOMPILED_HEADERS)
set_target_properties(
@@ -2079,6 +2079,12 @@ if (LL_TESTS)
LL_TEST_ADDITIONAL_LIBRARIES "${JSONCPP_LIBRARIES}"
)
+ set_source_files_properties(
+ lllogininstance.cpp
+ PROPERTIES
+ LL_TEST_ADDITIONAL_LIBRARIES "${BOOST_SYSTEM_LIBRARY}"
+ )
+
##################################################
# DISABLING PRECOMPILED HEADERS USAGE FOR TESTS
##################################################
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index 7801edb155..7deb1284b9 100755
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -5755,7 +5755,7 @@
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
- <integer>1</integer>
+ <integer>0</integer>
</map>
<key>MemoryPrivatePoolSize</key>
<map>
diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp
index 11fa50b51a..b6fd7bc9c2 100755
--- a/indra/newview/llagent.cpp
+++ b/indra/newview/llagent.cpp
@@ -56,7 +56,6 @@
#include "llnavigationbar.h" // to show/hide navigation bar when changing mouse look state
#include "llnearbychatbar.h"
#include "llnotificationsutil.h"
-#include "llpanelpathfindingrebakenavmesh.h"
#include "llpaneltopinfobar.h"
#include "llparcel.h"
#include "llrendersphere.h"
@@ -2002,7 +2001,6 @@ void LLAgent::endAnimationUpdateUI()
LLChicletBar::getInstance()->setVisible(TRUE);
LLPanelStandStopFlying::getInstance()->setVisible(TRUE);
- LLPanelPathfindingRebakeNavmesh::getInstance()->setVisible(TRUE);
LLToolMgr::getInstance()->setCurrentToolset(gBasicToolset);
@@ -2112,7 +2110,6 @@ void LLAgent::endAnimationUpdateUI()
LLChicletBar::getInstance()->setVisible(FALSE);
LLPanelStandStopFlying::getInstance()->setVisible(FALSE);
- LLPanelPathfindingRebakeNavmesh::getInstance()->setVisible(FALSE);
// clear out camera lag effect
gAgentCamera.clearCameraLag();
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index 438194c715..30f82926f1 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -710,7 +710,7 @@ bool LLAppViewer::init()
//set the max heap size.
initMaxHeapSize() ;
- LLPrivateMemoryPoolManager::initClass((BOOL)gSavedSettings.getBOOL("MemoryPrivatePoolEnabled"), (U32)gSavedSettings.getU32("MemoryPrivatePoolSize")) ;
+ LLPrivateMemoryPoolManager::initClass((BOOL)gSavedSettings.getBOOL("MemoryPrivatePoolEnabled"), (U32)gSavedSettings.getU32("MemoryPrivatePoolSize")*1024*1024) ;
// write Google Breakpad minidump files to our log directory
std::string logdir = gDirUtilp->getExpandedFilename(LL_PATH_LOGS, "");
diff --git a/indra/newview/llappviewerwin32.cpp b/indra/newview/llappviewerwin32.cpp
index e0ca1232b0..11790d562f 100644
--- a/indra/newview/llappviewerwin32.cpp
+++ b/indra/newview/llappviewerwin32.cpp
@@ -125,7 +125,7 @@ int APIENTRY WINMAIN(HINSTANCE hInstance,
#if WINDOWS_CRT_MEM_CHECKS && !INCLUDE_VLD
_CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF ); // dump memory leaks on exit
-#elif 1
+#elif 0
// Experimental - enable the low fragmentation heap
// This results in a 2-3x improvement in opening a new Inventory window (which uses a large numebr of allocations)
// Note: This won't work when running from the debugger unless the _NO_DEBUG_HEAP environment variable is set to 1
diff --git a/indra/newview/lldirpicker.h b/indra/newview/lldirpicker.h
index 2188b7edd0..682f9d6476 100644
--- a/indra/newview/lldirpicker.h
+++ b/indra/newview/lldirpicker.h
@@ -37,8 +37,8 @@
#include <Carbon/Carbon.h>
// AssertMacros.h does bad things.
+#include "fix_macros.h"
#undef verify
-#undef check
#undef require
#include <vector>
diff --git a/indra/newview/llfilepicker.h b/indra/newview/llfilepicker.h
index 55c665b9c7..4f602f63f1 100644
--- a/indra/newview/llfilepicker.h
+++ b/indra/newview/llfilepicker.h
@@ -39,8 +39,8 @@
#include <Carbon/Carbon.h>
// AssertMacros.h does bad things.
+#include "fix_macros.h"
#undef verify
-#undef check
#undef require
#include <vector>
diff --git a/indra/newview/llflexibleobject.cpp b/indra/newview/llflexibleobject.cpp
index f5bf900d0d..28d195d5e9 100644
--- a/indra/newview/llflexibleobject.cpp
+++ b/indra/newview/llflexibleobject.cpp
@@ -96,18 +96,6 @@ LLVolumeImplFlexible::~LLVolumeImplFlexible()
//static
void LLVolumeImplFlexible::updateClass()
{
- // XXX stinson 11/13/2012 : This hack removes the optimization for limiting the number of flexi-prims
- // updated. With the optimization, flexi-prims attached to the users avatar were not being
- // animated correctly immediately following teleport. With the optimization removed, the bug went away.
-#define XXX_STINSON_MAINT_1890_HACK_FIX 1
-#if XXX_STINSON_MAINT_1890_HACK_FIX
- for (std::vector<LLVolumeImplFlexible*>::iterator iter = sInstanceList.begin();
- iter != sInstanceList.end();
- ++iter)
- {
- (*iter)->doIdleUpdate();
- }
-#else // XXX_STINSON_MAINT_1890_HACK_FIX
std::vector<S32>::iterator delay_iter = sUpdateDelay.begin();
for (std::vector<LLVolumeImplFlexible*>::iterator iter = sInstanceList.begin();
@@ -121,7 +109,6 @@ void LLVolumeImplFlexible::updateClass()
}
++delay_iter;
}
-#endif // XXX_STINSON_MAINT_1890_HACK_FIX
}
LLVector3 LLVolumeImplFlexible::getFramePosition() const
@@ -373,6 +360,8 @@ void LLVolumeImplFlexible::doIdleUpdate()
F32 pixel_area = mVO->getPixelArea();
U32 update_period = (U32) (LLViewerCamera::getInstance()->getScreenPixelArea()*0.01f/(pixel_area*(sUpdateFactor+1.f)))+1;
+ // MAINT-1890 Clamp the update period to ensure that the update_period is no greater than 32 frames
+ update_period = llclamp(update_period, 0U, 32U);
if (visible)
{
diff --git a/indra/newview/lllocalbitmaps.cpp b/indra/newview/lllocalbitmaps.cpp
index 459e52c4f4..97ba5b634a 100644
--- a/indra/newview/lllocalbitmaps.cpp
+++ b/indra/newview/lllocalbitmaps.cpp
@@ -32,9 +32,7 @@
#include "lllocalbitmaps.h"
/* boost: will not compile unless equivalent is undef'd, beware. */
-#ifdef equivalent
-#undef equivalent
-#endif
+#include "fix_macros.h"
#include <boost/filesystem.hpp>
/* image compression headers. */
diff --git a/indra/newview/llmenuoptionpathfindingrebakenavmesh.cpp b/indra/newview/llmenuoptionpathfindingrebakenavmesh.cpp
new file mode 100644
index 0000000000..dd5f1ea689
--- /dev/null
+++ b/indra/newview/llmenuoptionpathfindingrebakenavmesh.cpp
@@ -0,0 +1,238 @@
+/**
+* @file llmenuoptionpathfindingrebakenavmesh.cpp
+* @brief Implementation of llmenuoptionpathfindingrebakenavmesh
+* @author Prep@lindenlab.com
+*
+* $LicenseInfo:firstyear=2012&license=viewerlgpl$
+* Second Life Viewer Source Code
+* Copyright (C) 2012, Linden Research, Inc.
+*
+* This library is free software; you can redistribute it and/or
+* modify it under the terms of the GNU Lesser General Public
+* License as published by the Free Software Foundation;
+* version 2.1 of the License only.
+*
+* This library is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this library; if not, write to the Free Software
+* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+*
+* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
+* $/LicenseInfo$
+*/
+
+
+#include "llviewerprecompiledheaders.h"
+
+#include "llmenuoptionpathfindingrebakenavmesh.h"
+
+#include <boost/bind.hpp>
+#include <boost/signals2.hpp>
+
+#include "llagent.h"
+#include "llenvmanager.h"
+#include "llnotificationsutil.h"
+#include "llpathfindingmanager.h"
+#include "llpathfindingnavmesh.h"
+#include "llpathfindingnavmeshstatus.h"
+#include "llviewerregion.h"
+
+LLMenuOptionPathfindingRebakeNavmesh::LLMenuOptionPathfindingRebakeNavmesh()
+ : LLSingleton<LLMenuOptionPathfindingRebakeNavmesh>(),
+ mIsInitialized(false),
+ mCanRebakeRegion(false),
+ mRebakeNavMeshMode(kRebakeNavMesh_Default),
+ mNavMeshSlot(),
+ mRegionCrossingSlot(),
+ mAgentStateSlot()
+{
+}
+
+LLMenuOptionPathfindingRebakeNavmesh::~LLMenuOptionPathfindingRebakeNavmesh()
+{
+ if (mRebakeNavMeshMode == kRebakeNavMesh_RequestSent)
+ {
+ LL_WARNS("navmeshRebaking") << "During destruction of the LLMenuOptionPathfindingRebakeNavmesh "
+ << "singleton, the mode indicates that a request has been sent for which a response has yet "
+ << "to be received. This could contribute to a crash on exit." << LL_ENDL;
+ }
+
+ llassert(!mIsInitialized);
+ if (mIsInitialized)
+ {
+ quit();
+ }
+}
+
+void LLMenuOptionPathfindingRebakeNavmesh::initialize()
+{
+ llassert(!mIsInitialized);
+ if (!mIsInitialized)
+ {
+ mIsInitialized = true;
+
+ setMode(kRebakeNavMesh_Default);
+
+ createNavMeshStatusListenerForCurrentRegion();
+
+ if ( !mRegionCrossingSlot.connected() )
+ {
+ mRegionCrossingSlot = LLEnvManagerNew::getInstance()->setRegionChangeCallback(boost::bind(&LLMenuOptionPathfindingRebakeNavmesh::handleRegionBoundaryCrossed, this));
+ }
+
+ if (!mAgentStateSlot.connected())
+ {
+ mAgentStateSlot = LLPathfindingManager::getInstance()->registerAgentStateListener(boost::bind(&LLMenuOptionPathfindingRebakeNavmesh::handleAgentState, this, _1));
+ }
+ LLPathfindingManager::getInstance()->requestGetAgentState();
+ }
+}
+
+void LLMenuOptionPathfindingRebakeNavmesh::quit()
+{
+ llassert(mIsInitialized);
+ if (mIsInitialized)
+ {
+ if (mNavMeshSlot.connected())
+ {
+ mNavMeshSlot.disconnect();
+ }
+
+ if (mRegionCrossingSlot.connected())
+ {
+ mRegionCrossingSlot.disconnect();
+ }
+
+ if (mAgentStateSlot.connected())
+ {
+ mAgentStateSlot.disconnect();
+ }
+
+ mIsInitialized = false;
+ }
+}
+
+bool LLMenuOptionPathfindingRebakeNavmesh::canRebakeRegion() const
+{
+ if (!mIsInitialized)
+ {
+ LL_ERRS("navmeshRebaking") << "LLMenuOptionPathfindingRebakeNavmesh class has not been initialized "
+ << "when the ability to rebake navmesh is being requested." << LL_ENDL;
+ }
+ return mCanRebakeRegion;
+}
+
+LLMenuOptionPathfindingRebakeNavmesh::ERebakeNavMeshMode LLMenuOptionPathfindingRebakeNavmesh::getMode() const
+{
+ if (!mIsInitialized)
+ {
+ LL_ERRS("navmeshRebaking") << "LLMenuOptionPathfindingRebakeNavmesh class has not been initialized "
+ << "when the mode is being requested." << LL_ENDL;
+ }
+ return mRebakeNavMeshMode;
+}
+
+void LLMenuOptionPathfindingRebakeNavmesh::sendRequestRebakeNavmesh()
+{
+ if (!mIsInitialized)
+ {
+ LL_ERRS("navmeshRebaking") << "LLMenuOptionPathfindingRebakeNavmesh class has not been initialized "
+ << "when the request is being made to rebake the navmesh." << LL_ENDL;
+ }
+ else
+ {
+ if (!canRebakeRegion())
+ {
+ LL_WARNS("navmeshRebaking") << "attempting to rebake navmesh when user does not have permissions "
+ << "on this region" << LL_ENDL;
+ }
+ if (getMode() != kRebakeNavMesh_Available)
+ {
+ LL_WARNS("navmeshRebaking") << "attempting to rebake navmesh when mode is not available"
+ << LL_ENDL;
+ }
+
+ setMode(kRebakeNavMesh_RequestSent);
+ LLPathfindingManager::getInstance()->requestRebakeNavMesh(boost::bind(&LLMenuOptionPathfindingRebakeNavmesh::handleRebakeNavMeshResponse, this, _1));
+ }
+}
+
+void LLMenuOptionPathfindingRebakeNavmesh::setMode(ERebakeNavMeshMode pRebakeNavMeshMode)
+{
+ mRebakeNavMeshMode = pRebakeNavMeshMode;
+}
+
+void LLMenuOptionPathfindingRebakeNavmesh::handleAgentState(BOOL pCanRebakeRegion)
+{
+ llassert(mIsInitialized);
+ mCanRebakeRegion = pCanRebakeRegion;
+}
+
+void LLMenuOptionPathfindingRebakeNavmesh::handleRebakeNavMeshResponse(bool pResponseStatus)
+{
+ llassert(mIsInitialized);
+ if (getMode() == kRebakeNavMesh_RequestSent)
+ {
+ setMode(pResponseStatus ? kRebakeNavMesh_InProgress : kRebakeNavMesh_Default);
+ }
+
+ if (!pResponseStatus)
+ {
+ LLNotificationsUtil::add("PathfindingCannotRebakeNavmesh");
+ }
+}
+
+void LLMenuOptionPathfindingRebakeNavmesh::handleNavMeshStatus(const LLPathfindingNavMeshStatus &pNavMeshStatus)
+{
+ llassert(mIsInitialized);
+ ERebakeNavMeshMode rebakeNavMeshMode = kRebakeNavMesh_Default;
+ if (pNavMeshStatus.isValid())
+ {
+ switch (pNavMeshStatus.getStatus())
+ {
+ case LLPathfindingNavMeshStatus::kPending :
+ case LLPathfindingNavMeshStatus::kRepending :
+ rebakeNavMeshMode = kRebakeNavMesh_Available;
+ break;
+ case LLPathfindingNavMeshStatus::kBuilding :
+ rebakeNavMeshMode = kRebakeNavMesh_InProgress;
+ break;
+ case LLPathfindingNavMeshStatus::kComplete :
+ rebakeNavMeshMode = kRebakeNavMesh_NotAvailable;
+ break;
+ default :
+ rebakeNavMeshMode = kRebakeNavMesh_Default;
+ llassert(0);
+ break;
+ }
+ }
+
+ setMode(rebakeNavMeshMode);
+}
+
+void LLMenuOptionPathfindingRebakeNavmesh::handleRegionBoundaryCrossed()
+{
+ llassert(mIsInitialized);
+ createNavMeshStatusListenerForCurrentRegion();
+ mCanRebakeRegion = FALSE;
+ LLPathfindingManager::getInstance()->requestGetAgentState();
+}
+
+void LLMenuOptionPathfindingRebakeNavmesh::createNavMeshStatusListenerForCurrentRegion()
+{
+ if (mNavMeshSlot.connected())
+ {
+ mNavMeshSlot.disconnect();
+ }
+
+ LLViewerRegion *currentRegion = gAgent.getRegion();
+ if (currentRegion != NULL)
+ {
+ mNavMeshSlot = LLPathfindingManager::getInstance()->registerNavMeshListenerForRegion(currentRegion, boost::bind(&LLMenuOptionPathfindingRebakeNavmesh::handleNavMeshStatus, this, _2));
+ LLPathfindingManager::getInstance()->requestGetNavMeshForRegion(currentRegion, true);
+ }
+}
diff --git a/indra/newview/llpanelpathfindingrebakenavmesh.h b/indra/newview/llmenuoptionpathfindingrebakenavmesh.h
index 48764f2aa7..7b1d2873ba 100644
--- a/indra/newview/llpanelpathfindingrebakenavmesh.h
+++ b/indra/newview/llmenuoptionpathfindingrebakenavmesh.h
@@ -1,6 +1,6 @@
/**
-* @file llpanelpathfindingrebakenavmesh.h
-* @brief Header file for llpanelpathfindingrebakenavmesh
+* @file llmenuoptionpathfindingrebakenavmesh.h
+* @brief Header file for llmenuoptionpathfindingrebakenavmesh
* @author Prep@lindenlab.com
*
* $LicenseInfo:firstyear=2012&license=viewerlgpl$
@@ -24,34 +24,22 @@
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
-#ifndef LL_LLPANELPATHFINDINGREBAKENAVMESH_H
-#define LL_LLPANELPATHFINDINGREBAKENAVMESH_H
+#ifndef LL_LLMENUOPTIONPATHFINDINGREBAKENAVMESH_H
+#define LL_LLMENUOPTIONPATHFINDINGREBAKENAVMESH_H
#include <boost/signals2.hpp>
-#include "llpanel.h"
#include "llpathfindingmanager.h"
#include "llpathfindingnavmesh.h"
+#include "llsingleton.h"
-class LLButton;
class LLPathfindingNavMeshStatus;
-class LLPanelPathfindingRebakeNavmesh : public LLPanel
+class LLMenuOptionPathfindingRebakeNavmesh : public LLSingleton<LLMenuOptionPathfindingRebakeNavmesh>
{
-
- LOG_CLASS(LLPanelPathfindingRebakeNavmesh);
+ LOG_CLASS(LLMenuOptionPathfindingRebakeNavmesh);
public:
- static LLPanelPathfindingRebakeNavmesh* getInstance();
-
- virtual BOOL postBuild();
-
- virtual void draw();
- virtual BOOL handleToolTip( S32 x, S32 y, MASK mask );
-
-protected:
-
-private:
typedef enum
{
kRebakeNavMesh_Available,
@@ -61,15 +49,21 @@ private:
kRebakeNavMesh_Default = kRebakeNavMesh_NotAvailable
} ERebakeNavMeshMode;
- LLPanelPathfindingRebakeNavmesh();
- virtual ~LLPanelPathfindingRebakeNavmesh();
+ LLMenuOptionPathfindingRebakeNavmesh();
+ virtual ~LLMenuOptionPathfindingRebakeNavmesh();
- static LLPanelPathfindingRebakeNavmesh* getPanel();
+ void initialize();
+ void quit();
- void setMode(ERebakeNavMeshMode pRebakeNavMeshMode);
+ bool canRebakeRegion() const;
ERebakeNavMeshMode getMode() const;
- void onNavMeshRebakeClick();
+ void sendRequestRebakeNavmesh();
+
+protected:
+
+private:
+ void setMode(ERebakeNavMeshMode pRebakeNavMeshMode);
void handleAgentState(BOOL pCanRebakeRegion);
void handleRebakeNavMeshResponse(bool pResponseStatus);
@@ -78,19 +72,14 @@ private:
void createNavMeshStatusListenerForCurrentRegion();
- bool doDraw() const;
- void updatePosition();
+ bool mIsInitialized;
- BOOL mCanRebakeRegion;
+ bool mCanRebakeRegion;
ERebakeNavMeshMode mRebakeNavMeshMode;
- LLButton* mNavMeshRebakeButton;
- LLButton* mNavMeshSendingButton;
- LLButton* mNavMeshBakingButton;
-
LLPathfindingNavMesh::navmesh_slot_t mNavMeshSlot;
boost::signals2::connection mRegionCrossingSlot;
LLPathfindingManager::agent_state_slot_t mAgentStateSlot;
};
-#endif // LL_LLPANELPATHFINDINGREBAKENAVMESH_H
+#endif // LL_LLMENUOPTIONPATHFINDINGREBAKENAVMESH_H
diff --git a/indra/newview/llpanelpathfindingrebakenavmesh.cpp b/indra/newview/llpanelpathfindingrebakenavmesh.cpp
deleted file mode 100644
index 7efb1a9227..0000000000
--- a/indra/newview/llpanelpathfindingrebakenavmesh.cpp
+++ /dev/null
@@ -1,269 +0,0 @@
-/**
-* @file llpanelpathfindingrebakenavmesh.cpp
-* @brief Implementation of llpanelpathfindingrebakenavmesh
-* @author Prep@lindenlab.com
-*
-* $LicenseInfo:firstyear=2012&license=viewerlgpl$
-* Second Life Viewer Source Code
-* Copyright (C) 2012, Linden Research, Inc.
-*
-* This library is free software; you can redistribute it and/or
-* modify it under the terms of the GNU Lesser General Public
-* License as published by the Free Software Foundation;
-* version 2.1 of the License only.
-*
-* This library is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this library; if not, write to the Free Software
-* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-*
-* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
-* $/LicenseInfo$
-*/
-
-
-#include "llviewerprecompiledheaders.h"
-
-#include "llpanelpathfindingrebakenavmesh.h"
-
-#include <boost/bind.hpp>
-#include <boost/signals2.hpp>
-
-#include "llagent.h"
-#include "llbutton.h"
-#include "llenvmanager.h"
-#include "llhints.h"
-#include "llnotificationsutil.h"
-#include "llpanel.h"
-#include "llpathfindingmanager.h"
-#include "llpathfindingnavmesh.h"
-#include "llpathfindingnavmeshstatus.h"
-#include "lltoolbar.h"
-#include "lltoolbarview.h"
-#include "lltooltip.h"
-#include "llviewerregion.h"
-
-LLPanelPathfindingRebakeNavmesh* LLPanelPathfindingRebakeNavmesh::getInstance()
-{
- static LLPanelPathfindingRebakeNavmesh* panel = getPanel();
- return panel;
-}
-
-BOOL LLPanelPathfindingRebakeNavmesh::postBuild()
-{
- //Rebake button
- mNavMeshRebakeButton = findChild<LLButton>("navmesh_btn");
- llassert(mNavMeshRebakeButton != NULL);
- mNavMeshRebakeButton->setCommitCallback(boost::bind(&LLPanelPathfindingRebakeNavmesh::onNavMeshRebakeClick, this));
- LLHints::registerHintTarget("navmesh_btn", mNavMeshRebakeButton->getHandle());
-
- //Sending rebake request
- mNavMeshSendingButton = findChild<LLButton>("navmesh_btn_sending");
- llassert(mNavMeshSendingButton != NULL);
- LLHints::registerHintTarget("navmesh_btn_sending", mNavMeshSendingButton->getHandle());
-
- //rebaking...
- mNavMeshBakingButton = findChild<LLButton>("navmesh_btn_baking");
- llassert(mNavMeshBakingButton != NULL);
- LLHints::registerHintTarget("navmesh_btn_baking", mNavMeshBakingButton->getHandle());
-
- setMode(kRebakeNavMesh_Default);
-
- createNavMeshStatusListenerForCurrentRegion();
-
- if ( !mRegionCrossingSlot.connected() )
- {
- mRegionCrossingSlot = LLEnvManagerNew::getInstance()->setRegionChangeCallback(boost::bind(&LLPanelPathfindingRebakeNavmesh::handleRegionBoundaryCrossed, this));
- }
-
- if (!mAgentStateSlot.connected())
- {
- mAgentStateSlot = LLPathfindingManager::getInstance()->registerAgentStateListener(boost::bind(&LLPanelPathfindingRebakeNavmesh::handleAgentState, this, _1));
- }
- LLPathfindingManager::getInstance()->requestGetAgentState();
-
- return LLPanel::postBuild();
-}
-
-void LLPanelPathfindingRebakeNavmesh::draw()
-{
- if (doDraw())
- {
- updatePosition();
- LLPanel::draw();
- }
-}
-
-BOOL LLPanelPathfindingRebakeNavmesh::handleToolTip( S32 x, S32 y, MASK mask )
-{
- LLToolTipMgr::instance().unblockToolTips();
-
- if (mNavMeshRebakeButton->getVisible())
- {
- LLToolTipMgr::instance().show(mNavMeshRebakeButton->getToolTip());
- }
- else if (mNavMeshSendingButton->getVisible())
- {
- LLToolTipMgr::instance().show(mNavMeshSendingButton->getToolTip());
- }
- else if (mNavMeshBakingButton->getVisible())
- {
- LLToolTipMgr::instance().show(mNavMeshBakingButton->getToolTip());
- }
-
- return LLPanel::handleToolTip(x, y, mask);
-}
-
-LLPanelPathfindingRebakeNavmesh::LLPanelPathfindingRebakeNavmesh()
- : LLPanel(),
- mCanRebakeRegion(FALSE),
- mRebakeNavMeshMode(kRebakeNavMesh_Default),
- mNavMeshRebakeButton(NULL),
- mNavMeshSendingButton(NULL),
- mNavMeshBakingButton(NULL),
- mNavMeshSlot(),
- mRegionCrossingSlot(),
- mAgentStateSlot()
-{
- // make sure we have the only instance of this class
- static bool b = true;
- llassert_always(b);
- b=false;
-}
-
-LLPanelPathfindingRebakeNavmesh::~LLPanelPathfindingRebakeNavmesh()
-{
-}
-
-LLPanelPathfindingRebakeNavmesh* LLPanelPathfindingRebakeNavmesh::getPanel()
-{
- LLPanelPathfindingRebakeNavmesh* panel = new LLPanelPathfindingRebakeNavmesh();
- panel->buildFromFile("panel_navmesh_rebake.xml");
- return panel;
-}
-
-void LLPanelPathfindingRebakeNavmesh::setMode(ERebakeNavMeshMode pRebakeNavMeshMode)
-{
- if (pRebakeNavMeshMode == kRebakeNavMesh_Available)
- {
- LLNotificationsUtil::add("PathfindingRebakeNavmesh");
- }
- mNavMeshRebakeButton->setVisible(pRebakeNavMeshMode == kRebakeNavMesh_Available);
- mNavMeshSendingButton->setVisible(pRebakeNavMeshMode == kRebakeNavMesh_RequestSent);
- mNavMeshBakingButton->setVisible(pRebakeNavMeshMode == kRebakeNavMesh_InProgress);
- mRebakeNavMeshMode = pRebakeNavMeshMode;
-}
-
-LLPanelPathfindingRebakeNavmesh::ERebakeNavMeshMode LLPanelPathfindingRebakeNavmesh::getMode() const
-{
- return mRebakeNavMeshMode;
-}
-
-void LLPanelPathfindingRebakeNavmesh::onNavMeshRebakeClick()
-{
- setMode(kRebakeNavMesh_RequestSent);
- LLPathfindingManager::getInstance()->requestRebakeNavMesh(boost::bind(&LLPanelPathfindingRebakeNavmesh::handleRebakeNavMeshResponse, this, _1));
-}
-
-void LLPanelPathfindingRebakeNavmesh::handleAgentState(BOOL pCanRebakeRegion)
-{
- mCanRebakeRegion = pCanRebakeRegion;
-}
-
-void LLPanelPathfindingRebakeNavmesh::handleRebakeNavMeshResponse(bool pResponseStatus)
-{
- if (getMode() == kRebakeNavMesh_RequestSent)
- {
- setMode(pResponseStatus ? kRebakeNavMesh_InProgress : kRebakeNavMesh_Default);
- }
-
- if (!pResponseStatus)
- {
- LLNotificationsUtil::add("PathfindingCannotRebakeNavmesh");
- }
-}
-
-void LLPanelPathfindingRebakeNavmesh::handleNavMeshStatus(const LLPathfindingNavMeshStatus &pNavMeshStatus)
-{
- ERebakeNavMeshMode rebakeNavMeshMode = kRebakeNavMesh_Default;
- if (pNavMeshStatus.isValid())
- {
- switch (pNavMeshStatus.getStatus())
- {
- case LLPathfindingNavMeshStatus::kPending :
- case LLPathfindingNavMeshStatus::kRepending :
- rebakeNavMeshMode = kRebakeNavMesh_Available;
- break;
- case LLPathfindingNavMeshStatus::kBuilding :
- rebakeNavMeshMode = kRebakeNavMesh_InProgress;
- break;
- case LLPathfindingNavMeshStatus::kComplete :
- rebakeNavMeshMode = kRebakeNavMesh_NotAvailable;
- break;
- default :
- rebakeNavMeshMode = kRebakeNavMesh_Default;
- llassert(0);
- break;
- }
- }
-
- setMode(rebakeNavMeshMode);
-}
-
-void LLPanelPathfindingRebakeNavmesh::handleRegionBoundaryCrossed()
-{
- createNavMeshStatusListenerForCurrentRegion();
- mCanRebakeRegion = FALSE;
- LLPathfindingManager::getInstance()->requestGetAgentState();
-}
-
-void LLPanelPathfindingRebakeNavmesh::createNavMeshStatusListenerForCurrentRegion()
-{
- if (mNavMeshSlot.connected())
- {
- mNavMeshSlot.disconnect();
- }
-
- LLViewerRegion *currentRegion = gAgent.getRegion();
- if (currentRegion != NULL)
- {
- mNavMeshSlot = LLPathfindingManager::getInstance()->registerNavMeshListenerForRegion(currentRegion, boost::bind(&LLPanelPathfindingRebakeNavmesh::handleNavMeshStatus, this, _2));
- LLPathfindingManager::getInstance()->requestGetNavMeshForRegion(currentRegion, true);
- }
-}
-
-bool LLPanelPathfindingRebakeNavmesh::doDraw() const
-{
- return (mCanRebakeRegion && (mRebakeNavMeshMode != kRebakeNavMesh_NotAvailable));
-}
-
-void LLPanelPathfindingRebakeNavmesh::updatePosition()
-{
- S32 y_pos = 0;
- S32 bottom_tb_center = 0;
-
- if (LLToolBar* toolbar_bottom = gToolBarView->getChild<LLToolBar>("toolbar_bottom"))
- {
- y_pos = toolbar_bottom->getRect().getHeight();
- bottom_tb_center = toolbar_bottom->getRect().getCenterX();
- }
-
- S32 left_tb_width = 0;
- if (LLToolBar* toolbar_left = gToolBarView->getChild<LLToolBar>("toolbar_left"))
- {
- left_tb_width = toolbar_left->getRect().getWidth();
- }
-
- if(LLPanel* panel_ssf_container = getRootView()->getChild<LLPanel>("state_management_buttons_container"))
- {
- panel_ssf_container->setOrigin(0, y_pos);
- }
-
- S32 x_pos = bottom_tb_center-getRect().getWidth()/2 - left_tb_width + 113 /* width of stand/fly button */ + 10 /* margin */;
-
- setOrigin( x_pos, 0);
-}
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp
index d11e7e32c7..5a8ef00b1f 100644
--- a/indra/newview/llviewermenu.cpp
+++ b/indra/newview/llviewermenu.cpp
@@ -83,6 +83,7 @@
#include "llinventoryfunctions.h"
#include "llpanellogin.h"
#include "llpanelblockedlist.h"
+#include "llmenuoptionpathfindingrebakenavmesh.h"
#include "llmoveview.h"
#include "llparcel.h"
#include "llrootview.h"
@@ -4876,6 +4877,37 @@ class LLToolsEnablePathfindingView : public view_listener_t
}
};
+class LLToolsDoPathfindingRebakeRegion : public view_listener_t
+{
+ bool handleEvent(const LLSD& userdata)
+ {
+ bool hasPathfinding = (LLPathfindingManager::getInstance() != NULL);
+
+ if (hasPathfinding)
+ {
+ LLMenuOptionPathfindingRebakeNavmesh::getInstance()->sendRequestRebakeNavmesh();
+ }
+
+ return hasPathfinding;
+ }
+};
+
+class LLToolsEnablePathfindingRebakeRegion : public view_listener_t
+{
+ bool handleEvent(const LLSD& userdata)
+ {
+ bool returnValue = false;
+
+ if (LLPathfindingManager::getInstance() != NULL)
+ {
+ LLMenuOptionPathfindingRebakeNavmesh *rebakeInstance = LLMenuOptionPathfindingRebakeNavmesh::getInstance();
+ returnValue = (rebakeInstance->canRebakeRegion() &&
+ (rebakeInstance->getMode() == LLMenuOptionPathfindingRebakeNavmesh::kRebakeNavMesh_Available));
+ }
+ return returnValue;
+ }
+};
+
// Round the position of all root objects to the grid
class LLToolsSnapObjectXY : public view_listener_t
{
@@ -8359,6 +8391,8 @@ void initialize_menus()
view_listener_t::addMenu(new LLToolsEnablePathfinding(), "Tools.EnablePathfinding");
view_listener_t::addMenu(new LLToolsEnablePathfindingView(), "Tools.EnablePathfindingView");
+ view_listener_t::addMenu(new LLToolsDoPathfindingRebakeRegion(), "Tools.DoPathfindingRebakeRegion");
+ view_listener_t::addMenu(new LLToolsEnablePathfindingRebakeRegion(), "Tools.EnablePathfindingRebakeRegion");
// Help menu
// most items use the ShowFloater method
diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp
index f9342a9736..b2bd547811 100644
--- a/indra/newview/llviewerobject.cpp
+++ b/indra/newview/llviewerobject.cpp
@@ -1232,12 +1232,8 @@ U32 LLViewerObject::processUpdateMessage(LLMessageSystem *mesgsys,
coloru.mV[3] = 255 - coloru.mV[3];
mText->setColor(LLColor4(coloru));
mText->setString(temp_string);
-
- if (mDrawable.notNull())
- {
- setChanged(MOVED | SILHOUETTE);
- gPipeline.markMoved(mDrawable, FALSE); // undamped
- }
+
+ setChanged(MOVED | SILHOUETTE);
}
else if (mText.notNull())
{
@@ -2046,12 +2042,12 @@ U32 LLViewerObject::processUpdateMessage(LLMessageSystem *mesgsys,
|| (new_angv != old_angv))
{
if (new_rot != mPreviousRotation)
- {
+ {
resetRot();
}
else if (new_angv != old_angv)
{
- if (flagUsePhysics() || new_angv.isExactlyZero())
+ if (flagUsePhysics())
{
resetRot();
}
@@ -2069,7 +2065,6 @@ U32 LLViewerObject::processUpdateMessage(LLMessageSystem *mesgsys,
setChanged(ROTATED | SILHOUETTE);
}
-
if ( gShowObjectUpdates )
{
LLColor4 color;
diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp
index 32cf8cc1b3..96d7890a9e 100644
--- a/indra/newview/llviewertexture.cpp
+++ b/indra/newview/llviewertexture.cpp
@@ -624,6 +624,7 @@ LLViewerTexture::~LLViewerTexture()
void LLViewerTexture::init(bool firstinit)
{
mBoostLevel = LLViewerTexture::BOOST_NONE;
+ mSelectedTime = 0.f;
mFullWidth = 0;
mFullHeight = 0;
@@ -679,11 +680,18 @@ void LLViewerTexture::setBoostLevel(S32 level)
if(mBoostLevel != level)
{
mBoostLevel = level ;
- if(mBoostLevel != LLViewerTexture::BOOST_NONE)
+ if(mBoostLevel != LLViewerTexture::BOOST_NONE &&
+ mBoostLevel != LLViewerTexture::BOOST_SELECTED)
{
setNoDelete() ;
}
}
+
+ if (mBoostLevel == LLViewerTexture::BOOST_SELECTED)
+ {
+ mSelectedTime = gFrameTimeSeconds;
+ }
+
}
@@ -1904,13 +1912,34 @@ void LLViewerFetchedTexture::updateVirtualSize()
for(U32 i = 0 ; i < mNumFaces ; i++)
{
LLFace* facep = mFaceList[i] ;
- if( facep && facep->getDrawable() && facep->getDrawable()->isRecentlyVisible())
+ if( facep )
{
- addTextureStats(facep->getVirtualSize()) ;
- setAdditionalDecodePriority(facep->getImportanceToCamera()) ;
+ LLDrawable* drawable = facep->getDrawable();
+ if (drawable)
+ {
+ if(drawable->isRecentlyVisible())
+ {
+ if (getBoostLevel() == LLViewerTexture::BOOST_NONE &&
+ drawable->getVObj() && drawable->getVObj()->isSelected())
+ {
+ setBoostLevel(LLViewerTexture::BOOST_SELECTED);
+ }
+ addTextureStats(facep->getVirtualSize()) ;
+ setAdditionalDecodePriority(facep->getImportanceToCamera()) ;
+ }
+ }
}
}
+ //reset whether or not a face was selected after 10 seconds
+ const F32 SELECTION_RESET_TIME = 10.f;
+
+ if (getBoostLevel() == LLViewerTexture::BOOST_SELECTED &&
+ gFrameTimeSeconds - mSelectedTime > SELECTION_RESET_TIME)
+ {
+ setBoostLevel(LLViewerTexture::BOOST_NONE);
+ }
+
if(mMaxVirtualSizeResetCounter > 0)
{
mMaxVirtualSizeResetCounter--;
diff --git a/indra/newview/llviewertexture.h b/indra/newview/llviewertexture.h
index 2ea9a07e9a..2e7949e9a3 100755
--- a/indra/newview/llviewertexture.h
+++ b/indra/newview/llviewertexture.h
@@ -275,6 +275,7 @@ private:
protected:
LLUUID mID;
S32 mBoostLevel; // enum describing priority level
+ F32 mSelectedTime; // time texture was last selected
S32 mFullWidth;
S32 mFullHeight;
BOOL mUseMipMaps ;
diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp
index ffaf881521..1def2db829 100755
--- a/indra/newview/llviewerwindow.cpp
+++ b/indra/newview/llviewerwindow.cpp
@@ -122,11 +122,11 @@
#include "llkeyboard.h"
#include "lllineeditor.h"
#include "llmenugl.h"
+#include "llmenuoptionpathfindingrebakenavmesh.h"
#include "llmodaldialog.h"
#include "llmorphview.h"
#include "llmoveview.h"
#include "llnavigationbar.h"
-#include "llpanelpathfindingrebakenavmesh.h"
#include "llpaneltopinfobar.h"
#include "llpopupview.h"
#include "llpreviewtexture.h"
@@ -1933,11 +1933,10 @@ void LLViewerWindow::initWorldUI()
LLPanelStandStopFlying* panel_stand_stop_flying = LLPanelStandStopFlying::getInstance();
panel_ssf_container->addChild(panel_stand_stop_flying);
- LLPanelPathfindingRebakeNavmesh *panel_rebake_navmesh = LLPanelPathfindingRebakeNavmesh::getInstance();
- panel_ssf_container->addChild(panel_rebake_navmesh);
-
panel_ssf_container->setVisible(TRUE);
+ LLMenuOptionPathfindingRebakeNavmesh::getInstance()->initialize();
+
// Load and make the toolbars visible
// Note: we need to load the toolbars only *after* the user is logged in and IW
if (gToolBarView)
@@ -2007,6 +2006,8 @@ void LLViewerWindow::shutdownViews()
mRootView = NULL;
llinfos << "RootView deleted." << llendl ;
+ LLMenuOptionPathfindingRebakeNavmesh::getInstance()->quit();
+
// Automatically deleted as children of mRootView. Fix the globals.
gStatusBar = NULL;
gIMMgr = NULL;
diff --git a/indra/newview/macutil_Prefix.h b/indra/newview/macutil_Prefix.h
index fd8e927a08..b54a764a62 100644
--- a/indra/newview/macutil_Prefix.h
+++ b/indra/newview/macutil_Prefix.h
@@ -33,7 +33,7 @@
*/
#include <Carbon/Carbon.h>
+#include "fix_macros.h"
-#undef check
#undef verify
#undef require
diff --git a/indra/newview/skins/default/xui/de/panel_navmesh_rebake.xml b/indra/newview/skins/default/xui/de/panel_navmesh_rebake.xml
deleted file mode 100644
index 44be6d67b1..0000000000
--- a/indra/newview/skins/default/xui/de/panel_navmesh_rebake.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<panel name="panel_navmesh_rebake">
- <button label="Region neu formen" name="navmesh_btn" tool_tip="Klicken, um das Navmesh der Region neu zu formen."/>
- <button label="Neuformen wird angefordert" name="navmesh_btn_sending" tool_tip="Anforderung zum Neuformen wird an den Server gesendet."/>
- <button label="Region wird neu geformt" name="navmesh_btn_baking" tool_tip="Region wird neu geformt. Nach Abschluss des Vorgangs verschwindet diese Schaltfläche."/>
-</panel>
diff --git a/indra/newview/skins/default/xui/en/menu_object.xml b/indra/newview/skins/default/xui/en/menu_object.xml
index 52b9524b11..f6004621a6 100644
--- a/indra/newview/skins/default/xui/en/menu_object.xml
+++ b/indra/newview/skins/default/xui/en/menu_object.xml
@@ -30,26 +30,6 @@
function="EnableEdit"/>
</menu_item_call>
<menu_item_call
- label="Show in linksets"
- name="show_in_linksets">
- <menu_item_call.on_click
- function="Pathfinding.Linksets.Select" />
- <menu_item_call.on_enable
- function="EnableSelectInPathfindingLinksets"/>
- <menu_item_call.on_visible
- function="EnableSelectInPathfindingLinksets"/>
- </menu_item_call>
- <menu_item_call
- label="Show in characters"
- name="show_in_characters">
- <menu_item_call.on_click
- function="Pathfinding.Characters.Select" />
- <menu_item_call.on_enable
- function="EnableSelectInPathfindingCharacters"/>
- <menu_item_call.on_visible
- function="EnableSelectInPathfindingCharacters"/>
- </menu_item_call>
- <menu_item_call
enabled="false"
label="Open"
name="Open">
@@ -90,6 +70,26 @@
<menu_item_call.on_click
function="Object.ZoomIn" />
</menu_item_call>
+ <menu_item_call
+ label="Show in linksets"
+ name="show_in_linksets">
+ <menu_item_call.on_click
+ function="Pathfinding.Linksets.Select" />
+ <menu_item_call.on_enable
+ function="EnableSelectInPathfindingLinksets"/>
+ <menu_item_call.on_visible
+ function="EnableSelectInPathfindingLinksets"/>
+ </menu_item_call>
+ <menu_item_call
+ label="Show in characters"
+ name="show_in_characters">
+ <menu_item_call.on_click
+ function="Pathfinding.Characters.Select" />
+ <menu_item_call.on_enable
+ function="EnableSelectInPathfindingCharacters"/>
+ <menu_item_call.on_visible
+ function="EnableSelectInPathfindingCharacters"/>
+ </menu_item_call>
<menu_item_separator layout="topleft" />
<context_menu
label="Put On"
diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml
index 1aa55acf2d..18932a32d0 100644
--- a/indra/newview/skins/default/xui/en/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/en/menu_viewer.xml
@@ -956,7 +956,7 @@
create_jump_keys="true"
label="Pathfinding"
name="Pathfinding"
- tear_off="false">
+ tear_off="true">
<menu_item_call
label="Linksets..."
name="pathfinding_linksets_menu_item">
@@ -984,6 +984,14 @@
<menu_item_call.on_enable
function="Tools.EnablePathfindingView" />
</menu_item_call>
+ <menu_item_call
+ label="Rebake region"
+ name="pathfinding_rebake_navmesh_item">
+ <menu_item_call.on_click
+ function="Tools.DoPathfindingRebakeRegion"/>
+ <menu_item_call.on_enable
+ function="Tools.EnablePathfindingRebakeRegion" />
+ </menu_item_call>
</menu>
diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml
index 8e6de6ed4f..9dae77a304 100644
--- a/indra/newview/skins/default/xui/en/notifications.xml
+++ b/indra/newview/skins/default/xui/en/notifications.xml
@@ -6076,26 +6076,6 @@ This area has building disabled. You can&apos;t build or rez objects here.
<notification
icon="alertmodal.tga"
- name="PathfindingRebakeNavmesh"
- type="alertmodal">
- <unique/>
- Changing certain objects in this region could cause other moving objects to behave incorrectly. To make moving objects behave correctly, click the “Rebake region” button. Choose “Help” for more information.
- <url
- option="1"
- name="url"
- target = "_external">
- http://wiki.secondlife.com/wiki/Pathfinding_Tools_in_the_Second_Life_Viewer
- </url>
- <usetemplate
- name="okhelpignore"
- ignoretext="Changing certain objects in this region could cause other moving objects to behave incorrectly."
- yestext="OK"
- helptext="Help"
- />
- </notification>
-
- <notification
- icon="alertmodal.tga"
name="PathfindingCannotRebakeNavmesh"
type="alertmodal">
<unique/>
diff --git a/indra/newview/skins/default/xui/en/panel_navmesh_rebake.xml b/indra/newview/skins/default/xui/en/panel_navmesh_rebake.xml
deleted file mode 100644
index 90308a2ca9..0000000000
--- a/indra/newview/skins/default/xui/en/panel_navmesh_rebake.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
-<panel
- height="25"
- layout="topleft"
- name="panel_navmesh_rebake"
- mouse_opaque="false"
- visible="true"
- width="133">
- <button
- follows="left|bottom"
- height="19"
- label="Rebake region"
- layout="topleft"
- left="10"
- name="navmesh_btn"
- tool_tip="Click to rebake the region&apos;s navmesh."
- top="2"
- visible="false"
- enabled="true"
- width="120" />
- <button
- follows="left|bottom"
- height="19"
- label="Requesting rebake"
- layout="topleft"
- left="10"
- name="navmesh_btn_sending"
- tool_tip="Sending rebake request to the server."
- top="2"
- visible="false"
- enabled="false"
- width="120" />
- <button
- follows="left|bottom"
- height="19"
- label="Region is rebaking"
- layout="topleft"
- left="10"
- name="navmesh_btn_baking"
- tool_tip="Region is being rebaked. When completed, this button will disappear."
- top="2"
- visible="false"
- enabled="false"
- width="120" />
-</panel>
diff --git a/indra/newview/skins/default/xui/es/panel_navmesh_rebake.xml b/indra/newview/skins/default/xui/es/panel_navmesh_rebake.xml
deleted file mode 100644
index 96df844512..0000000000
--- a/indra/newview/skins/default/xui/es/panel_navmesh_rebake.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<panel name="panel_navmesh_rebake">
- <button label="Recargar la región" name="navmesh_btn" tool_tip="Pulsa para recargar el navmesh de la región."/>
- <button label="Solicitando recarga" name="navmesh_btn_sending" tool_tip="Enviando la solicitud de recarga al servidor."/>
- <button label="La región se está recargando" name="navmesh_btn_baking" tool_tip="La región se está recargando. Este botón desaparecerá cuando finalice la recarga."/>
-</panel>
diff --git a/indra/newview/skins/default/xui/fr/panel_navmesh_rebake.xml b/indra/newview/skins/default/xui/fr/panel_navmesh_rebake.xml
deleted file mode 100644
index 7acf092257..0000000000
--- a/indra/newview/skins/default/xui/fr/panel_navmesh_rebake.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<panel name="panel_navmesh_rebake">
- <button label="Refiger la région" name="navmesh_btn" tool_tip="Cliquer pour refiger le maillage de navigation de la région."/>
- <button label="Demande consistant à refiger la région en cours..." name="navmesh_btn_sending" tool_tip="Envoi de la demande consistant à refiger la région au serveur..."/>
- <button label="La région se refige..." name="navmesh_btn_baking" tool_tip="La région se refige. Ce bouton disparaîtra lorsque le processus sera terminé."/>
-</panel>
diff --git a/indra/newview/skins/default/xui/it/panel_navmesh_rebake.xml b/indra/newview/skins/default/xui/it/panel_navmesh_rebake.xml
deleted file mode 100644
index 432754076a..0000000000
--- a/indra/newview/skins/default/xui/it/panel_navmesh_rebake.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<panel name="panel_navmesh_rebake">
- <button label="Rebake regione" name="navmesh_btn" tool_tip="Fai clic per eseguire rebake sul navmesh della regione"/>
- <button label="Richiesta rebake" name="navmesh_btn_sending" tool_tip="Invio richiesta rebake al server."/>
- <button label="Rebake regione in corso" name="navmesh_btn_baking" tool_tip="Rebake della regione in corso. Al termine, questo pulsante non sarà più visibile."/>
-</panel>
diff --git a/indra/newview/skins/default/xui/ja/panel_navmesh_rebake.xml b/indra/newview/skins/default/xui/ja/panel_navmesh_rebake.xml
deleted file mode 100644
index ea3ec32424..0000000000
--- a/indra/newview/skins/default/xui/ja/panel_navmesh_rebake.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<panel name="panel_navmesh_rebake">
- <button label="地域の再構築" name="navmesh_btn" tool_tip="クリックしてこの地域のナビメッシュを再構築します。"/>
- <button label="再構築をリクエスト中" name="navmesh_btn_sending" tool_tip="再構築リクエストをサーバーに送信しています。"/>
- <button label="地域(リージョン)を再構築中" name="navmesh_btn_baking" tool_tip="地域を再構築しています。完了すると、このボタンは消えます。"/>
-</panel>
diff --git a/indra/newview/skins/default/xui/pt/panel_navmesh_rebake.xml b/indra/newview/skins/default/xui/pt/panel_navmesh_rebake.xml
deleted file mode 100644
index aa885ae031..0000000000
--- a/indra/newview/skins/default/xui/pt/panel_navmesh_rebake.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<panel name="panel_navmesh_rebake">
- <button label="Recarregar região" name="navmesh_btn" tool_tip="Clique para recarregar o navmesh da região."/>
- <button label="Solicitando recarregamento" name="navmesh_btn_sending" tool_tip="Enviando solicitação de recarregamento para o servidor."/>
- <button label="A região está recarregando" name="navmesh_btn_baking" tool_tip="A região está sendo recarregada. Este botão desaparecerá após a conclusão."/>
-</panel>
diff --git a/indra/newview/skins/default/xui/ru/panel_navmesh_rebake.xml b/indra/newview/skins/default/xui/ru/panel_navmesh_rebake.xml
deleted file mode 100644
index fdc374a024..0000000000
--- a/indra/newview/skins/default/xui/ru/panel_navmesh_rebake.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<panel name="panel_navmesh_rebake">
- <button label="Восстановить регион" name="navmesh_btn" tool_tip="Восстановить навигационную сетку региона."/>
- <button label="Запрос на восстановление" name="navmesh_btn_sending" tool_tip="Отправка запроса на восстановление на сервер."/>
- <button label="Идет восстановление региона" name="navmesh_btn_baking" tool_tip="Идет восстановление региона. Когда оно завершится, эта кнопка исчезнет."/>
-</panel>
diff --git a/indra/newview/skins/default/xui/tr/panel_navmesh_rebake.xml b/indra/newview/skins/default/xui/tr/panel_navmesh_rebake.xml
deleted file mode 100644
index 78cb8bcc02..0000000000
--- a/indra/newview/skins/default/xui/tr/panel_navmesh_rebake.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<panel name="panel_navmesh_rebake">
- <button label="Bölgeyi yeniden kaydet" name="navmesh_btn" tool_tip="Bölgenin navigasyon örgüsünü tekrar kaydetmek için tıkla."/>
- <button label="Yeniden kaydetme talep ediliyor" name="navmesh_btn_sending" tool_tip="Yeniden kaydetme talebi sunucuya gönderiliyor."/>
- <button label="Bölge yeniden kaydediliyor" name="navmesh_btn_baking" tool_tip="Bölge yeniden kaydediliyor. Tamamlandığında bu düğme kaybolacak."/>
-</panel>
diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py
index 86f978faf1..ea75d4f4f6 100644
--- a/indra/newview/viewer_manifest.py
+++ b/indra/newview/viewer_manifest.py
@@ -1065,12 +1065,12 @@ class Linux_i686Manifest(LinuxManifest):
self.path("libaprutil-1.so")
self.path("libaprutil-1.so.0")
self.path("libaprutil-1.so.0.4.1")
- self.path("libboost_program_options-mt.so.1.48.0")
- self.path("libboost_regex-mt.so.1.48.0")
- self.path("libboost_thread-mt.so.1.48.0")
- self.path("libboost_filesystem-mt.so.1.48.0")
- self.path("libboost_signals-mt.so.1.48.0")
- self.path("libboost_system-mt.so.1.48.0")
+ self.path("libboost_program_options-mt.so.*")
+ self.path("libboost_regex-mt.so.*")
+ self.path("libboost_thread-mt.so.*")
+ self.path("libboost_filesystem-mt.so.*")
+ self.path("libboost_signals-mt.so.*")
+ self.path("libboost_system-mt.so.*")
self.path("libbreakpad_client.so.0.0.0")
self.path("libbreakpad_client.so.0")
self.path("libbreakpad_client.so")