summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorCinder Biscuits <cinder.roxley@phoenixviewer.com>2014-08-18 14:35:25 -0600
committerCinder Biscuits <cinder.roxley@phoenixviewer.com>2014-08-18 14:35:25 -0600
commitb6ebb422fc5aa93c205b79293e8dc8d9a66b1a27 (patch)
tree1d1d495a09b9f2f81ab7c25d59019513011619e1 /indra/newview
parenta45e72704942161ea9d86b806f142b80fa544cc2 (diff)
parentb021c90e7bccdd0f9a916946e7716a00034254c2 (diff)
Merged lindenlab/viewer-release into default
Diffstat (limited to 'indra/newview')
-rwxr-xr-xindra/newview/CMakeLists.txt29
-rw-r--r--indra/newview/VIEWER_VERSION.txt2
-rwxr-xr-xindra/newview/icons/beta/secondlife_128.pngbin18268 -> 16200 bytes
-rwxr-xr-xindra/newview/icons/beta/secondlife_16.pngbin3536 -> 1020 bytes
-rwxr-xr-xindra/newview/icons/beta/secondlife_256.pngbin49418 -> 49119 bytes
-rwxr-xr-xindra/newview/icons/beta/secondlife_32.pngbin4767 -> 2252 bytes
-rwxr-xr-xindra/newview/icons/beta/secondlife_48.pngbin6438 -> 3940 bytes
-rwxr-xr-xindra/newview/icons/beta/secondlife_512.pngbin151779 -> 157618 bytes
-rwxr-xr-xindra/newview/icons/project/secondlife_128.pngbin17706 -> 15587 bytes
-rwxr-xr-xindra/newview/icons/project/secondlife_16.pngbin3471 -> 956 bytes
-rwxr-xr-xindra/newview/icons/project/secondlife_256.pngbin48488 -> 48230 bytes
-rwxr-xr-xindra/newview/icons/project/secondlife_32.pngbin4675 -> 2153 bytes
-rwxr-xr-xindra/newview/icons/project/secondlife_48.pngbin6195 -> 3704 bytes
-rwxr-xr-xindra/newview/icons/project/secondlife_512.pngbin149145 -> 155555 bytes
-rwxr-xr-xindra/newview/icons/release/secondlife_128.pngbin17198 -> 15184 bytes
-rwxr-xr-xindra/newview/icons/release/secondlife_16.pngbin3524 -> 1009 bytes
-rwxr-xr-xindra/newview/icons/release/secondlife_256.pngbin47946 -> 47740 bytes
-rwxr-xr-xindra/newview/icons/release/secondlife_32.pngbin4746 -> 2237 bytes
-rwxr-xr-xindra/newview/icons/release/secondlife_48.pngbin6249 -> 3748 bytes
-rwxr-xr-xindra/newview/icons/release/secondlife_512.pngbin147963 -> 154396 bytes
-rwxr-xr-xindra/newview/icons/test/secondlife_128.pngbin17156 -> 15058 bytes
-rwxr-xr-xindra/newview/icons/test/secondlife_16.pngbin3471 -> 956 bytes
-rwxr-xr-xindra/newview/icons/test/secondlife_256.pngbin47522 -> 47320 bytes
-rwxr-xr-xindra/newview/icons/test/secondlife_32.pngbin4644 -> 2130 bytes
-rwxr-xr-xindra/newview/icons/test/secondlife_48.pngbin6115 -> 3630 bytes
-rwxr-xr-xindra/newview/icons/test/secondlife_512.pngbin146971 -> 153502 bytes
-rwxr-xr-xindra/newview/lltexturefetch.cpp352
-rwxr-xr-xindra/newview/lltextureview.cpp4
-rwxr-xr-xindra/newview/skins/default/textures/bottomtray/ChatBarHandle.pngbin2808 -> 260 bytes
-rwxr-xr-xindra/newview/skins/default/textures/bottomtray/Move_Fly_Off.pngbin3347 -> 609 bytes
-rwxr-xr-xindra/newview/skins/default/textures/bottomtray/Notices_Unread.pngbin3693 -> 436 bytes
-rwxr-xr-xindra/newview/skins/default/textures/bottomtray/Snapshot_Off.pngbin3204 -> 549 bytes
-rwxr-xr-xindra/newview/skins/default/textures/down_arrow.pngbin2936 -> 423 bytes
-rwxr-xr-xindra/newview/skins/default/textures/icons/Edit_Wrench.pngbin3000 -> 452 bytes
-rwxr-xr-xindra/newview/skins/default/textures/icons/Generic_Group_Large.pngbin7507 -> 5274 bytes
-rwxr-xr-xindra/newview/skins/default/textures/icons/Generic_Person.pngbin3280 -> 481 bytes
-rwxr-xr-xindra/newview/skins/default/textures/icons/Hierarchy_View_On.pngbin2839 -> 306 bytes
-rwxr-xr-xindra/newview/skins/default/textures/icons/Inv_Link.pngbin2857 -> 317 bytes
-rwxr-xr-xindra/newview/skins/default/textures/icons/Inv_LostClosed.pngbin3033 -> 526 bytes
-rwxr-xr-xindra/newview/skins/default/textures/icons/Inv_LostOpen.pngbin3223 -> 708 bytes
-rwxr-xr-xindra/newview/skins/default/textures/icons/Inv_Mesh.pngbin3263 -> 751 bytes
-rwxr-xr-xindra/newview/skins/default/textures/icons/Inv_SysClosed.pngbin3153 -> 643 bytes
-rwxr-xr-xindra/newview/skins/default/textures/icons/Inv_SysOpen.pngbin3251 -> 734 bytes
-rwxr-xr-xindra/newview/skins/default/textures/icons/Inv_TrashClosed.pngbin2978 -> 465 bytes
-rwxr-xr-xindra/newview/skins/default/textures/icons/Inv_TrashOpen.pngbin2970 -> 457 bytes
-rwxr-xr-xindra/newview/skins/default/textures/icons/Parcel_FlyNo_Dark.pngbin3221 -> 681 bytes
-rwxr-xr-xindra/newview/skins/default/textures/icons/Parcel_FlyNo_Light.pngbin3235 -> 696 bytes
-rwxr-xr-xindra/newview/skins/default/textures/icons/Parcel_Fly_Dark.pngbin3077 -> 474 bytes
-rwxr-xr-xindra/newview/skins/default/textures/icons/Parcel_SeeAVsOff_Dark.pngbin3194 -> 680 bytes
-rwxr-xr-xindra/newview/skins/default/textures/icons/Parcel_SeeAVsOff_Light.pngbin3189 -> 680 bytes
-rwxr-xr-xindra/newview/skins/default/textures/icons/Parcel_SeeAVsOn_Dark.pngbin3011 -> 452 bytes
-rwxr-xr-xindra/newview/skins/default/textures/icons/Parcel_SeeAVsOn_Light.pngbin3011 -> 453 bytes
-rwxr-xr-xindra/newview/skins/default/textures/icons/Person_Check.pngbin3824 -> 925 bytes
-rwxr-xr-xindra/newview/skins/default/textures/icons/Person_Star.pngbin3762 -> 739 bytes
-rwxr-xr-xindra/newview/skins/default/textures/icons/SL_Logo.pngbin3999 -> 1484 bytes
-rwxr-xr-xindra/newview/skins/default/textures/icons/Shop.pngbin3052 -> 473 bytes
-rwxr-xr-xindra/newview/skins/default/textures/icons/Web_Profile_Off.pngbin2961 -> 410 bytes
-rwxr-xr-xindra/newview/skins/default/textures/icons/back_arrow_off.pngbin3775 -> 1261 bytes
-rwxr-xr-xindra/newview/skins/default/textures/icons/back_arrow_over.pngbin3792 -> 1277 bytes
-rwxr-xr-xindra/newview/skins/default/textures/icons/back_arrow_press.pngbin3844 -> 1329 bytes
-rwxr-xr-xindra/newview/skins/default/textures/icons/check_mark.pngbin3166 -> 650 bytes
-rwxr-xr-xindra/newview/skins/default/textures/icons/pop_up_caution.pngbin3158 -> 642 bytes
-rwxr-xr-xindra/newview/skins/default/textures/menu_separator.pngbin2831 -> 304 bytes
-rwxr-xr-xindra/newview/skins/default/textures/model_wizard/progress_bar_bg.pngbin3180 -> 556 bytes
-rwxr-xr-xindra/newview/skins/default/textures/model_wizard/progress_light.pngbin2979 -> 464 bytes
-rwxr-xr-xindra/newview/skins/default/textures/navbar/Search.pngbin3182 -> 516 bytes
-rwxr-xr-xindra/newview/skins/default/textures/navbar/separator.pngbin2826 -> 330 bytes
-rwxr-xr-xindra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Dock_Foreground.pngbin2899 -> 355 bytes
-rwxr-xr-xindra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Dock_Press.pngbin2886 -> 339 bytes
-rwxr-xr-xindra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Undock_Foreground.pngbin2896 -> 341 bytes
-rwxr-xr-xindra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Undock_Press.pngbin2920 -> 344 bytes
-rw-r--r--indra/newview/skins/default/textures/toolbar_icons/facebook.pngbin2974 -> 424 bytes
-rwxr-xr-xindra/newview/skins/default/textures/toolbar_icons/mini_cart.pngbin2987 -> 474 bytes
-rwxr-xr-xindra/newview/skins/default/textures/up_arrow.pngbin2930 -> 426 bytes
-rwxr-xr-xindra/newview/skins/default/textures/widgets/Arrow_Down.pngbin3066 -> 467 bytes
-rwxr-xr-xindra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Disabled.pngbin3576 -> 801 bytes
-rwxr-xr-xindra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Off.pngbin4309 -> 1873 bytes
-rwxr-xr-xindra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Over.pngbin4272 -> 1828 bytes
-rwxr-xr-xindra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Press.pngbin4278 -> 1851 bytes
-rwxr-xr-xindra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Disabled.pngbin3425 -> 746 bytes
-rwxr-xr-xindra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Off.pngbin4151 -> 1726 bytes
-rwxr-xr-xindra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Over.pngbin4137 -> 1696 bytes
-rwxr-xr-xindra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Press.pngbin4200 -> 1767 bytes
-rwxr-xr-xindra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Disabled.pngbin3169 -> 538 bytes
-rwxr-xr-xindra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Off.pngbin3845 -> 1388 bytes
-rwxr-xr-xindra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Over.pngbin3867 -> 1410 bytes
-rwxr-xr-xindra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Press.pngbin3915 -> 1477 bytes
-rwxr-xr-xindra/newview/skins/default/textures/widgets/Tooltip.pngbin2910 -> 402 bytes
-rwxr-xr-xindra/newview/skins/default/textures/windows/Icon_Close_Foreground.pngbin2871 -> 352 bytes
-rwxr-xr-xindra/newview/skins/default/textures/windows/Icon_Help_Foreground.pngbin3084 -> 451 bytes
-rwxr-xr-xindra/newview/skins/default/textures/windows/Icon_Help_Press.pngbin3062 -> 451 bytes
-rwxr-xr-xindra/newview/skins/default/textures/windows/Icon_Minimize_Foreground.pngbin2839 -> 301 bytes
-rwxr-xr-xindra/newview/skins/default/textures/windows/Icon_Minimize_Press.pngbin2839 -> 301 bytes
-rwxr-xr-xindra/newview/skins/default/textures/windows/Icon_Restore_Foreground.pngbin2955 -> 446 bytes
-rwxr-xr-xindra/newview/skins/default/textures/windows/Icon_Restore_Press.pngbin2971 -> 406 bytes
-rwxr-xr-xindra/newview/skins/default/textures/windows/hint_arrow_down.pngbin3170 -> 573 bytes
-rwxr-xr-xindra/newview/skins/default/textures/windows/hint_arrow_left.pngbin3059 -> 482 bytes
-rwxr-xr-xindra/newview/skins/default/textures/windows/hint_arrow_lower_left.pngbin3081 -> 490 bytes
-rwxr-xr-xindra/newview/skins/default/textures/windows/hint_arrow_right.pngbin3112 -> 513 bytes
-rwxr-xr-xindra/newview/skins/default/textures/windows/hint_arrow_up.pngbin3219 -> 587 bytes
-rwxr-xr-xindra/newview/skins/default/textures/windows/hint_background.pngbin4316 -> 1532 bytes
-rwxr-xr-xindra/newview/skins/default/textures/windows/yellow_gradient.pngbin3634 -> 1125 bytes
-rwxr-xr-xindra/newview/skins/default/textures/world/CameraDragDot.pngbin3101 -> 563 bytes
-rwxr-xr-xindra/newview/skins/default/textures/world/NoEntryLines.pngbin3523 -> 1265 bytes
-rwxr-xr-xindra/newview/viewer_manifest.py106
105 files changed, 287 insertions, 206 deletions
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index 3e296c8d9f..b81b2aa9cf 100755
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -47,6 +47,8 @@ include(VisualLeakDetector)
include(GLOD)
include(CMakeCopyIfDifferent)
include(LLAppearance)
+include(PNG)
+include(ZLIB)
if (NOT HAVOK_TPV)
# When using HAVOK_TPV, the library is precompiled, so no need for this
@@ -1891,13 +1893,37 @@ else (WINDOWS)
)
endif (WINDOWS)
-# *NOTE - this list is very sensitive to ordering, test carefully on all
+# *NOTE: - this list is very sensitive to ordering, test carefully on all
# platforms if you change the releative order of the entries here.
# In particular, cmake 2.6.4 (when buidling with linux/makefile generators)
# appears to sometimes de-duplicate redundantly listed dependencies improperly.
# To work around this, higher level modules should be listed before the modules
# that they depend upon. -brad
+#
+# *NOTE: On mixing system shared libraries and updated static archives.
+# We use a number of libraries that have an existence as system libraries,
+# internal-use libraries and applications libraries. The most-referenced
+# one of these being libz where you can find four or more versions in play
+# at once. On Linux, libz can be found at link and run time via a number
+# of paths:
+#
+# => -lfreetype
+# => libz.so.1 (on install machine, not build)
+# => -lSDL
+# => libz.so.1 (on install machine, not build)
+# => -lgdk-x11-2.0
+# => libz.so.1
+# => -lz
+#
+# We generally want the newest version of the library to provide all symbol
+# resolution. To that end, when using static archives, the *_PRELOAD_ARCHIVES
+# variables, PNG_PRELOAD_ARCHIVES and ZLIB_PRELOAD_ARCHIVES, get the archives
+# dumped into the target binary and runtime lookup will find the most
+# modern version.
+
target_link_libraries(${VIEWER_BINARY_NAME}
+ ${PNG_PRELOAD_ARCHIVES}
+ ${ZLIB_PRELOAD_ARCHIVES}
${UPDATER_LIBRARIES}
${GOOGLE_PERFTOOLS_LIBRARIES}
${LLAUDIO_LIBRARIES}
@@ -1924,6 +1950,7 @@ target_link_libraries(${VIEWER_BINARY_NAME}
${BOOST_PROGRAM_OPTIONS_LIBRARY}
${BOOST_REGEX_LIBRARY}
${BOOST_CONTEXT_LIBRARY}
+ ${BOOST_COROUTINE_LIBRARY}
${DBUSGLIB_LIBRARIES}
${OPENGL_LIBRARIES}
${FMODWRAPPER_LIBRARY} # must come after LLAudio
diff --git a/indra/newview/VIEWER_VERSION.txt b/indra/newview/VIEWER_VERSION.txt
index 35c6ac5179..03d7b8fb9b 100644
--- a/indra/newview/VIEWER_VERSION.txt
+++ b/indra/newview/VIEWER_VERSION.txt
@@ -1 +1 @@
-3.7.14
+3.7.15
diff --git a/indra/newview/icons/beta/secondlife_128.png b/indra/newview/icons/beta/secondlife_128.png
index fa42aa764b..af5ae63335 100755
--- a/indra/newview/icons/beta/secondlife_128.png
+++ b/indra/newview/icons/beta/secondlife_128.png
Binary files differ
diff --git a/indra/newview/icons/beta/secondlife_16.png b/indra/newview/icons/beta/secondlife_16.png
index ff648cf3fc..9e6305d98f 100755
--- a/indra/newview/icons/beta/secondlife_16.png
+++ b/indra/newview/icons/beta/secondlife_16.png
Binary files differ
diff --git a/indra/newview/icons/beta/secondlife_256.png b/indra/newview/icons/beta/secondlife_256.png
index 245e2c3e9f..b0814fc180 100755
--- a/indra/newview/icons/beta/secondlife_256.png
+++ b/indra/newview/icons/beta/secondlife_256.png
Binary files differ
diff --git a/indra/newview/icons/beta/secondlife_32.png b/indra/newview/icons/beta/secondlife_32.png
index fd7f46bf4d..a00b3cf53c 100755
--- a/indra/newview/icons/beta/secondlife_32.png
+++ b/indra/newview/icons/beta/secondlife_32.png
Binary files differ
diff --git a/indra/newview/icons/beta/secondlife_48.png b/indra/newview/icons/beta/secondlife_48.png
index cc3a795e2b..551587b1cd 100755
--- a/indra/newview/icons/beta/secondlife_48.png
+++ b/indra/newview/icons/beta/secondlife_48.png
Binary files differ
diff --git a/indra/newview/icons/beta/secondlife_512.png b/indra/newview/icons/beta/secondlife_512.png
index a959bd9a9e..99226de74e 100755
--- a/indra/newview/icons/beta/secondlife_512.png
+++ b/indra/newview/icons/beta/secondlife_512.png
Binary files differ
diff --git a/indra/newview/icons/project/secondlife_128.png b/indra/newview/icons/project/secondlife_128.png
index d67b8228f9..b1b4997306 100755
--- a/indra/newview/icons/project/secondlife_128.png
+++ b/indra/newview/icons/project/secondlife_128.png
Binary files differ
diff --git a/indra/newview/icons/project/secondlife_16.png b/indra/newview/icons/project/secondlife_16.png
index 91493a033c..7d3d74b534 100755
--- a/indra/newview/icons/project/secondlife_16.png
+++ b/indra/newview/icons/project/secondlife_16.png
Binary files differ
diff --git a/indra/newview/icons/project/secondlife_256.png b/indra/newview/icons/project/secondlife_256.png
index cccfaf7cba..88ad959275 100755
--- a/indra/newview/icons/project/secondlife_256.png
+++ b/indra/newview/icons/project/secondlife_256.png
Binary files differ
diff --git a/indra/newview/icons/project/secondlife_32.png b/indra/newview/icons/project/secondlife_32.png
index ad7b33f789..e55f75e1dd 100755
--- a/indra/newview/icons/project/secondlife_32.png
+++ b/indra/newview/icons/project/secondlife_32.png
Binary files differ
diff --git a/indra/newview/icons/project/secondlife_48.png b/indra/newview/icons/project/secondlife_48.png
index 104a931fbc..c29703e164 100755
--- a/indra/newview/icons/project/secondlife_48.png
+++ b/indra/newview/icons/project/secondlife_48.png
Binary files differ
diff --git a/indra/newview/icons/project/secondlife_512.png b/indra/newview/icons/project/secondlife_512.png
index 74e2fa9bc6..4fa3474d70 100755
--- a/indra/newview/icons/project/secondlife_512.png
+++ b/indra/newview/icons/project/secondlife_512.png
Binary files differ
diff --git a/indra/newview/icons/release/secondlife_128.png b/indra/newview/icons/release/secondlife_128.png
index bcf94dcae8..4c9544f498 100755
--- a/indra/newview/icons/release/secondlife_128.png
+++ b/indra/newview/icons/release/secondlife_128.png
Binary files differ
diff --git a/indra/newview/icons/release/secondlife_16.png b/indra/newview/icons/release/secondlife_16.png
index 90311ea8b0..bb3168b8be 100755
--- a/indra/newview/icons/release/secondlife_16.png
+++ b/indra/newview/icons/release/secondlife_16.png
Binary files differ
diff --git a/indra/newview/icons/release/secondlife_256.png b/indra/newview/icons/release/secondlife_256.png
index a89fb4c74f..bece338a90 100755
--- a/indra/newview/icons/release/secondlife_256.png
+++ b/indra/newview/icons/release/secondlife_256.png
Binary files differ
diff --git a/indra/newview/icons/release/secondlife_32.png b/indra/newview/icons/release/secondlife_32.png
index 530e8fc80c..736359c147 100755
--- a/indra/newview/icons/release/secondlife_32.png
+++ b/indra/newview/icons/release/secondlife_32.png
Binary files differ
diff --git a/indra/newview/icons/release/secondlife_48.png b/indra/newview/icons/release/secondlife_48.png
index cb33c51f8a..07d39ae585 100755
--- a/indra/newview/icons/release/secondlife_48.png
+++ b/indra/newview/icons/release/secondlife_48.png
Binary files differ
diff --git a/indra/newview/icons/release/secondlife_512.png b/indra/newview/icons/release/secondlife_512.png
index f291e60586..53d1643f45 100755
--- a/indra/newview/icons/release/secondlife_512.png
+++ b/indra/newview/icons/release/secondlife_512.png
Binary files differ
diff --git a/indra/newview/icons/test/secondlife_128.png b/indra/newview/icons/test/secondlife_128.png
index 019f65db28..486772b6d3 100755
--- a/indra/newview/icons/test/secondlife_128.png
+++ b/indra/newview/icons/test/secondlife_128.png
Binary files differ
diff --git a/indra/newview/icons/test/secondlife_16.png b/indra/newview/icons/test/secondlife_16.png
index 91493a033c..7d3d74b534 100755
--- a/indra/newview/icons/test/secondlife_16.png
+++ b/indra/newview/icons/test/secondlife_16.png
Binary files differ
diff --git a/indra/newview/icons/test/secondlife_256.png b/indra/newview/icons/test/secondlife_256.png
index f402424c51..56c781788d 100755
--- a/indra/newview/icons/test/secondlife_256.png
+++ b/indra/newview/icons/test/secondlife_256.png
Binary files differ
diff --git a/indra/newview/icons/test/secondlife_32.png b/indra/newview/icons/test/secondlife_32.png
index 80d6efe13d..476029db61 100755
--- a/indra/newview/icons/test/secondlife_32.png
+++ b/indra/newview/icons/test/secondlife_32.png
Binary files differ
diff --git a/indra/newview/icons/test/secondlife_48.png b/indra/newview/icons/test/secondlife_48.png
index bba938feba..d7de7849f9 100755
--- a/indra/newview/icons/test/secondlife_48.png
+++ b/indra/newview/icons/test/secondlife_48.png
Binary files differ
diff --git a/indra/newview/icons/test/secondlife_512.png b/indra/newview/icons/test/secondlife_512.png
index 10ff65312b..a4b1e4974c 100755
--- a/indra/newview/icons/test/secondlife_512.png
+++ b/indra/newview/icons/test/secondlife_512.png
Binary files differ
diff --git a/indra/newview/lltexturefetch.cpp b/indra/newview/lltexturefetch.cpp
index 9ea46cab68..425e339713 100755
--- a/indra/newview/lltexturefetch.cpp
+++ b/indra/newview/lltexturefetch.cpp
@@ -4,7 +4,7 @@
*
* $LicenseInfo:firstyear=2000&license=viewerlgpl$
* Second Life Viewer Source Code
- * Copyright (C) 2012-2013, Linden Research, Inc.
+ * Copyright (C) 2012-2014, 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
@@ -244,6 +244,13 @@ LLTrace::EventStatHandle<F64Milliseconds > LLTextureFetch::sCacheReadLatency("te
static const S32 HTTP_REQUESTS_IN_QUEUE_HIGH_WATER = 40; // Maximum requests to have active in HTTP
static const S32 HTTP_REQUESTS_IN_QUEUE_LOW_WATER = 20; // Active level at which to refill
+// BUG-3323/SH-4375
+// *NOTE: This is a heuristic value. Texture fetches have a habit of using a
+// value of 32MB to indicate 'get the rest of the image'. Certain ISPs and
+// network equipment get confused when they see this in a Range: header. So,
+// if the request end is beyond this value, we issue an open-ended Range:
+// request (e.g. 'Range: <start>-') which seems to fix the problem.
+static const S32 HTTP_REQUESTS_RANGE_END_MAX = 20000000;
//////////////////////////////////////////////////////////////////////////////
@@ -266,6 +273,9 @@ static const char* e_state_name[] =
"DONE"
};
+// Log scope
+static const char * const LOG_TXT = "Texture";
+
class LLTextureFetchWorker : public LLWorkerClass, public LLCore::HttpHandler
{
@@ -926,7 +936,7 @@ LLTextureFetchWorker::LLTextureFetchWorker(LLTextureFetch* fetcher,
calcWorkPriority();
mType = host.isOk() ? LLImageBase::TYPE_AVATAR_BAKE : LLImageBase::TYPE_NORMAL;
-// LL_INFOS() << "Create: " << mID << " mHost:" << host << " Discard=" << discard << LL_ENDL;
+// LL_INFOS(LOG_TXT) << "Create: " << mID << " mHost:" << host << " Discard=" << discard << LL_ENDL;
if (!mFetcher->mDebugPause)
{
U32 work_priority = mWorkPriority | LLWorkerThread::PRIORITY_HIGH;
@@ -937,7 +947,7 @@ LLTextureFetchWorker::LLTextureFetchWorker(LLTextureFetch* fetcher,
LLTextureFetchWorker::~LLTextureFetchWorker()
{
-// LL_INFOS() << "Destroy: " << mID
+// LL_INFOS(LOG_TXT) << "Destroy: " << mID
// << " Decoded=" << mDecodedDiscard
// << " Requested=" << mRequestedDiscard
// << " Desired=" << mDesiredDiscard << LL_ENDL;
@@ -1001,7 +1011,7 @@ void LLTextureFetchWorker::setupPacketData()
mFirstPacket = (data_size - FIRST_PACKET_SIZE) / MAX_IMG_PACKET_SIZE + 1;
if (FIRST_PACKET_SIZE + (mFirstPacket-1) * MAX_IMG_PACKET_SIZE != data_size)
{
- LL_WARNS() << "Bad CACHED TEXTURE size: " << data_size << " removing." << LL_ENDL;
+ LL_WARNS(LOG_TXT) << "Bad CACHED TEXTURE size: " << data_size << " removing." << LL_ENDL;
removeFromCache();
resetFormattedData();
clearPackets();
@@ -1124,14 +1134,14 @@ bool LLTextureFetchWorker::doWork(S32 param)
{
if (mState == INIT || mState == LOAD_FROM_NETWORK || mState == LOAD_FROM_SIMULATOR)
{
- LL_DEBUGS("Texture") << mID << " abort: mImagePriority < F_ALMOST_ZERO" << LL_ENDL;
+ LL_DEBUGS(LOG_TXT) << mID << " abort: mImagePriority < F_ALMOST_ZERO" << LL_ENDL;
return true; // abort
}
}
if(mState > CACHE_POST && !mCanUseNET && !mCanUseHTTP)
{
//nowhere to get data, abort.
- LL_WARNS("Texture") << mID << " abort, nowhere to get data" << LL_ENDL;
+ LL_WARNS(LOG_TXT) << mID << " abort, nowhere to get data" << LL_ENDL;
return true ;
}
@@ -1177,8 +1187,8 @@ bool LLTextureFetchWorker::doWork(S32 param)
setState(LOAD_FROM_TEXTURE_CACHE);
mInCache = FALSE;
mDesiredSize = llmax(mDesiredSize, TEXTURE_CACHE_ENTRY_SIZE); // min desired size is TEXTURE_CACHE_ENTRY_SIZE
- LL_DEBUGS("Texture") << mID << ": Priority: " << llformat("%8.0f",mImagePriority)
- << " Desired Discard: " << mDesiredDiscard << " Desired Size: " << mDesiredSize << LL_ENDL;
+ LL_DEBUGS(LOG_TXT) << mID << ": Priority: " << llformat("%8.0f",mImagePriority)
+ << " Desired Discard: " << mDesiredDiscard << " Desired Size: " << mDesiredSize << LL_ENDL;
// fall through
}
@@ -1246,7 +1256,7 @@ bool LLTextureFetchWorker::doWork(S32 param)
//
//This should never happen
//
- LL_DEBUGS("Texture") << mID << " this should never happen" << LL_ENDL;
+ LL_DEBUGS(LOG_TXT) << mID << " this should never happen" << LL_ENDL;
return false;
}
}
@@ -1267,15 +1277,15 @@ bool LLTextureFetchWorker::doWork(S32 param)
mLoadedDiscard = mDesiredDiscard;
if (mLoadedDiscard < 0)
{
- LL_WARNS("Texture") << mID << " mLoadedDiscard is " << mLoadedDiscard
- << ", should be >=0" << LL_ENDL;
+ LL_WARNS(LOG_TXT) << mID << " mLoadedDiscard is " << mLoadedDiscard
+ << ", should be >=0" << LL_ENDL;
}
setState(DECODE_IMAGE);
mInCache = TRUE;
mWriteToCacheState = NOT_WRITE ;
- LL_DEBUGS("Texture") << mID << ": Cached. Bytes: " << mFormattedImage->getDataSize()
- << " Size: " << llformat("%dx%d",mFormattedImage->getWidth(),mFormattedImage->getHeight())
- << " Desired Discard: " << mDesiredDiscard << " Desired Size: " << mDesiredSize << LL_ENDL;
+ LL_DEBUGS(LOG_TXT) << mID << ": Cached. Bytes: " << mFormattedImage->getDataSize()
+ << " Size: " << llformat("%dx%d",mFormattedImage->getWidth(),mFormattedImage->getHeight())
+ << " Desired Discard: " << mDesiredDiscard << " Desired Size: " << mDesiredSize << LL_ENDL;
record(LLTextureFetch::sCacheHitRate, LLUnits::Ratio::fromValue(1));
}
else
@@ -1283,13 +1293,13 @@ bool LLTextureFetchWorker::doWork(S32 param)
if (mUrl.compare(0, 7, "file://") == 0)
{
// failed to load local file, we're done.
- LL_WARNS("Texture") << mID << ": abort, failed to load local file " << mUrl << LL_ENDL;
+ LL_WARNS(LOG_TXT) << mID << ": abort, failed to load local file " << mUrl << LL_ENDL;
return true;
}
// need more data
else
{
- LL_DEBUGS("Texture") << mID << ": Not in Cache" << LL_ENDL;
+ LL_DEBUGS(LOG_TXT) << mID << ": Not in Cache" << LL_ENDL;
setState(LOAD_FROM_NETWORK);
}
@@ -1306,11 +1316,11 @@ bool LLTextureFetchWorker::doWork(S32 param)
{
if (wait_seconds <= 0.0)
{
- LL_INFOS() << mID << " retrying now" << LL_ENDL;
+ LL_INFOS(LOG_TXT) << mID << " retrying now" << LL_ENDL;
}
else
{
- //LL_INFOS() << mID << " waiting to retry for " << wait_seconds << " seconds" << LL_ENDL;
+ //LL_INFOS(LOG_TXT) << mID << " waiting to retry for " << wait_seconds << " seconds" << LL_ENDL;
return false;
}
}
@@ -1333,7 +1343,7 @@ bool LLTextureFetchWorker::doWork(S32 param)
{
if (mFTType != FTT_DEFAULT)
{
- LL_WARNS() << "trying to seek a non-default texture on the sim. Bad!" << LL_ENDL;
+ LL_WARNS(LOG_TXT) << "trying to seek a non-default texture on the sim. Bad!" << LL_ENDL;
}
setUrl(http_url + "/?texture_id=" + mID.asString().c_str());
mWriteToCacheState = CAN_WRITE ; //because this texture has a fixed texture id.
@@ -1346,7 +1356,7 @@ bool LLTextureFetchWorker::doWork(S32 param)
else
{
// This will happen if not logged in or if a region deoes not have HTTP Texture enabled
- //LL_WARNS() << "Region not found for host: " << mHost << LL_ENDL;
+ //LL_WARNS(LOG_TXT) << "Region not found for host: " << mHost << LL_ENDL;
mCanUseHTTP = false;
}
}
@@ -1400,20 +1410,20 @@ bool LLTextureFetchWorker::doWork(S32 param)
}
if (processSimulatorPackets())
{
- LL_DEBUGS("Texture") << mID << ": Loaded from Sim. Bytes: " << mFormattedImage->getDataSize() << LL_ENDL;
+ LL_DEBUGS(LOG_TXT) << mID << ": Loaded from Sim. Bytes: " << mFormattedImage->getDataSize() << LL_ENDL;
mFetcher->removeFromNetworkQueue(this, false);
if (mFormattedImage.isNull() || !mFormattedImage->getDataSize())
{
// processSimulatorPackets() failed
-// LL_WARNS() << "processSimulatorPackets() failed to load buffer" << LL_ENDL;
- LL_WARNS("Texture") << mID << " processSimulatorPackets() failed to load buffer" << LL_ENDL;
+// LL_WARNS(LOG_TXT) << "processSimulatorPackets() failed to load buffer" << LL_ENDL;
+ LL_WARNS(LOG_TXT) << mID << " processSimulatorPackets() failed to load buffer" << LL_ENDL;
return true; // failed
}
setPriority(LLWorkerThread::PRIORITY_HIGH | mWorkPriority);
if (mLoadedDiscard < 0)
{
- LL_WARNS("Texture") << mID << " mLoadedDiscard is " << mLoadedDiscard
- << ", should be >=0" << LL_ENDL;
+ LL_WARNS(LOG_TXT) << mID << " mLoadedDiscard is " << mLoadedDiscard
+ << ", should be >=0" << LL_ENDL;
}
setState(DECODE_IMAGE);
mWriteToCacheState = SHOULD_WRITE;
@@ -1463,7 +1473,7 @@ bool LLTextureFetchWorker::doWork(S32 param)
if (! mCanUseHTTP)
{
releaseHttpSemaphore();
- LL_WARNS("Texture") << mID << " abort: SEND_HTTP_REQ but !mCanUseHTTP" << LL_ENDL;
+ LL_WARNS(LOG_TXT) << mID << " abort: SEND_HTTP_REQ but !mCanUseHTTP" << LL_ENDL;
return true; // abort
}
@@ -1482,8 +1492,8 @@ bool LLTextureFetchWorker::doWork(S32 param)
setPriority(LLWorkerThread::PRIORITY_HIGH | mWorkPriority);
if (mLoadedDiscard < 0)
{
- LL_WARNS("Texture") << mID << " mLoadedDiscard is " << mLoadedDiscard
- << ", should be >=0" << LL_ENDL;
+ LL_WARNS(LOG_TXT) << mID << " mLoadedDiscard is " << mLoadedDiscard
+ << ", should be >=0" << LL_ENDL;
}
setState(DECODE_IMAGE);
releaseHttpSemaphore();
@@ -1492,7 +1502,7 @@ bool LLTextureFetchWorker::doWork(S32 param)
else
{
releaseHttpSemaphore();
- LL_WARNS("Texture") << mID << " SEND_HTTP_REQ abort: cur_size " << cur_size << " <=0" << LL_ENDL;
+ LL_WARNS(LOG_TXT) << mID << " SEND_HTTP_REQ abort: cur_size " << cur_size << " <=0" << LL_ENDL;
return true; // abort.
}
}
@@ -1523,10 +1533,10 @@ bool LLTextureFetchWorker::doWork(S32 param)
mLoaded = FALSE;
mGetStatus = LLCore::HttpStatus();
mGetReason.clear();
- LL_DEBUGS("Texture") << "HTTP GET: " << mID << " Offset: " << mRequestedOffset
- << " Bytes: " << mRequestedSize
- << " Bandwidth(kbps): " << mFetcher->getTextureBandwidth() << "/" << mFetcher->mMaxBandwidth
- << LL_ENDL;
+ LL_DEBUGS(LOG_TXT) << "HTTP GET: " << mID << " Offset: " << mRequestedOffset
+ << " Bytes: " << mRequestedSize
+ << " Bandwidth(kbps): " << mFetcher->getTextureBandwidth() << "/" << mFetcher->mMaxBandwidth
+ << LL_ENDL;
// Will call callbackHttpGet when curl request completes
// Only server bake images use the returned headers currently, for getting retry-after field.
@@ -1535,14 +1545,16 @@ bool LLTextureFetchWorker::doWork(S32 param)
mWorkPriority,
mUrl,
mRequestedOffset,
- mRequestedSize,
+ (mRequestedOffset + mRequestedSize) > HTTP_REQUESTS_RANGE_END_MAX
+ ? 0
+ : mRequestedSize,
options,
mFetcher->mHttpHeaders,
this);
}
if (LLCORE_HTTP_HANDLE_INVALID == mHttpHandle)
{
- LL_WARNS() << "HTTP GET request failed for " << mID << LL_ENDL;
+ LL_WARNS(LOG_TXT) << "HTTP GET request failed for " << mID << LL_ENDL;
resetFormattedData();
releaseHttpSemaphore();
return true; // failed
@@ -1570,7 +1582,7 @@ bool LLTextureFetchWorker::doWork(S32 param)
{
if (mFTType != FTT_MAP_TILE)
{
- LL_WARNS() << "Texture missing from server (404): " << mUrl << LL_ENDL;
+ LL_WARNS(LOG_TXT) << "Texture missing from server (404): " << mUrl << LL_ENDL;
}
if(mWriteToCacheState == NOT_WRITE) //map tiles or server bakes
@@ -1579,7 +1591,7 @@ bool LLTextureFetchWorker::doWork(S32 param)
releaseHttpSemaphore();
if (mFTType != FTT_MAP_TILE)
{
- LL_WARNS("Texture") << mID << " abort: WAIT_HTTP_REQ not found" << LL_ENDL;
+ LL_WARNS(LOG_TXT) << mID << " abort: WAIT_HTTP_REQ not found" << LL_ENDL;
}
return true;
}
@@ -1597,11 +1609,11 @@ bool LLTextureFetchWorker::doWork(S32 param)
}
else if (http_service_unavail == mGetStatus)
{
- LL_INFOS_ONCE("Texture") << "Texture server busy (503): " << mUrl << LL_ENDL;
- LL_INFOS() << "503: HTTP GET failed for: " << mUrl
- << " Status: " << mGetStatus.toHex()
- << " Reason: '" << mGetReason << "'"
- << LL_ENDL;
+ LL_INFOS_ONCE(LOG_TXT) << "Texture server busy (503): " << mUrl << LL_ENDL;
+ LL_INFOS(LOG_TXT) << "503: HTTP GET failed for: " << mUrl
+ << " Status: " << mGetStatus.toHex()
+ << " Reason: '" << mGetReason << "'"
+ << LL_ENDL;
}
else if (http_not_sat == mGetStatus)
{
@@ -1610,10 +1622,10 @@ bool LLTextureFetchWorker::doWork(S32 param)
}
else
{
- LL_INFOS() << "HTTP GET failed for: " << mUrl
- << " Status: " << mGetStatus.toTerseString()
- << " Reason: '" << mGetReason << "'"
- << LL_ENDL;
+ LL_INFOS(LOG_TXT) << "HTTP GET failed for: " << mUrl
+ << " Status: " << mGetStatus.toTerseString()
+ << " Reason: '" << mGetReason << "'"
+ << LL_ENDL;
}
if (mFTType != FTT_SERVER_BAKE)
@@ -1627,8 +1639,8 @@ bool LLTextureFetchWorker::doWork(S32 param)
setPriority(LLWorkerThread::PRIORITY_HIGH | mWorkPriority);
if (mLoadedDiscard < 0)
{
- LL_WARNS("Texture") << mID << " mLoadedDiscard is " << mLoadedDiscard
- << ", should be >=0" << LL_ENDL;
+ LL_WARNS(LOG_TXT) << mID << " mLoadedDiscard is " << mLoadedDiscard
+ << ", should be >=0" << LL_ENDL;
}
setState(DECODE_IMAGE);
releaseHttpSemaphore();
@@ -1639,7 +1651,7 @@ bool LLTextureFetchWorker::doWork(S32 param)
resetFormattedData();
setState(DONE);
releaseHttpSemaphore();
- LL_WARNS("Texture") << mID << " abort: fail harder" << LL_ENDL;
+ LL_WARNS(LOG_TXT) << mID << " abort: fail harder" << LL_ENDL;
return true; // failed
}
@@ -1663,7 +1675,7 @@ bool LLTextureFetchWorker::doWork(S32 param)
// abort.
setState(DONE);
- LL_WARNS("Texture") << mID << " abort: no data received" << LL_ENDL;
+ LL_WARNS(LOG_TXT) << mID << " abort: no data received" << LL_ENDL;
releaseHttpSemaphore();
return true;
}
@@ -1679,8 +1691,8 @@ bool LLTextureFetchWorker::doWork(S32 param)
// Get back into alignment.
if (mHttpReplyOffset > cur_size)
{
- LL_WARNS("Texture") << "Partial HTTP response produces break in image data for texture "
- << mID << ". Aborting load." << LL_ENDL;
+ LL_WARNS(LOG_TXT) << "Partial HTTP response produces break in image data for texture "
+ << mID << ". Aborting load." << LL_ENDL;
setState(DONE);
releaseHttpSemaphore();
return true;
@@ -1731,8 +1743,8 @@ bool LLTextureFetchWorker::doWork(S32 param)
mLoadedDiscard = mRequestedDiscard;
if (mLoadedDiscard < 0)
{
- LL_WARNS("Texture") << mID << " mLoadedDiscard is " << mLoadedDiscard
- << ", should be >=0" << LL_ENDL;
+ LL_WARNS(LOG_TXT) << mID << " mLoadedDiscard is " << mLoadedDiscard
+ << ", should be >=0" << LL_ENDL;
}
setState(DECODE_IMAGE);
if (mWriteToCacheState != NOT_WRITE)
@@ -1773,26 +1785,26 @@ bool LLTextureFetchWorker::doWork(S32 param)
{
// We aborted, don't decode
setState(DONE);
- LL_DEBUGS("Texture") << mID << " DECODE_IMAGE abort: desired discard " << mDesiredDiscard << "<0" << LL_ENDL;
+ LL_DEBUGS(LOG_TXT) << mID << " DECODE_IMAGE abort: desired discard " << mDesiredDiscard << "<0" << LL_ENDL;
return true;
}
if (mFormattedImage->getDataSize() <= 0)
{
- LL_WARNS() << "Decode entered with invalid mFormattedImage. ID = " << mID << LL_ENDL;
+ LL_WARNS(LOG_TXT) << "Decode entered with invalid mFormattedImage. ID = " << mID << LL_ENDL;
//abort, don't decode
setState(DONE);
- LL_DEBUGS("Texture") << mID << " DECODE_IMAGE abort: (mFormattedImage->getDataSize() <= 0)" << LL_ENDL;
+ LL_DEBUGS(LOG_TXT) << mID << " DECODE_IMAGE abort: (mFormattedImage->getDataSize() <= 0)" << LL_ENDL;
return true;
}
if (mLoadedDiscard < 0)
{
- LL_WARNS() << "Decode entered with invalid mLoadedDiscard. ID = " << mID << LL_ENDL;
+ LL_WARNS(LOG_TXT) << "Decode entered with invalid mLoadedDiscard. ID = " << mID << LL_ENDL;
//abort, don't decode
setState(DONE);
- LL_DEBUGS("Texture") << mID << " DECODE_IMAGE abort: mLoadedDiscard < 0" << LL_ENDL;
+ LL_DEBUGS(LOG_TXT) << mID << " DECODE_IMAGE abort: mLoadedDiscard < 0" << LL_ENDL;
return true;
}
@@ -1803,8 +1815,8 @@ bool LLTextureFetchWorker::doWork(S32 param)
U32 image_priority = LLWorkerThread::PRIORITY_NORMAL | mWorkPriority;
mDecoded = FALSE;
setState(DECODE_IMAGE_UPDATE);
- LL_DEBUGS("Texture") << mID << ": Decoding. Bytes: " << mFormattedImage->getDataSize() << " Discard: " << discard
- << " All Data: " << mHaveAllData << LL_ENDL;
+ LL_DEBUGS(LOG_TXT) << mID << ": Decoding. Bytes: " << mFormattedImage->getDataSize() << " Discard: " << discard
+ << " All Data: " << mHaveAllData << LL_ENDL;
mDecodeHandle = mFetcher->mImageDecodeThread->decodeImage(mFormattedImage, image_priority, discard, mNeedsAux,
new DecodeResponder(mFetcher, mID, this));
// fall though
@@ -1821,11 +1833,11 @@ bool LLTextureFetchWorker::doWork(S32 param)
if (mDecodedDiscard < 0)
{
- LL_DEBUGS("Texture") << mID << ": Failed to Decode." << LL_ENDL;
+ LL_DEBUGS(LOG_TXT) << mID << ": Failed to Decode." << LL_ENDL;
if (mCachedSize > 0 && !mInLocalCache && mRetryAttempt == 0)
{
// Cache file should be deleted, try again
- LL_WARNS() << mID << ": Decode of cached file failed (removed), retrying" << LL_ENDL;
+ LL_WARNS(LOG_TXT) << mID << ": Decode of cached file failed (removed), retrying" << LL_ENDL;
llassert_always(mDecodeHandle == 0);
mFormattedImage = NULL;
++mRetryAttempt;
@@ -1835,15 +1847,15 @@ bool LLTextureFetchWorker::doWork(S32 param)
}
else
{
-// LL_WARNS() << "UNABLE TO LOAD TEXTURE: " << mID << " RETRIES: " << mRetryAttempt << LL_ENDL;
+// LL_WARNS(LOG_TXT) << "UNABLE TO LOAD TEXTURE: " << mID << " RETRIES: " << mRetryAttempt << LL_ENDL;
setState(DONE); // failed
}
}
else
{
llassert_always(mRawImage.notNull());
- LL_DEBUGS("Texture") << mID << ": Decoded. Discard: " << mDecodedDiscard
- << " Raw Image: " << llformat("%dx%d",mRawImage->getWidth(),mRawImage->getHeight()) << LL_ENDL;
+ LL_DEBUGS(LOG_TXT) << mID << ": Decoded. Discard: " << mDecodedDiscard
+ << " Raw Image: " << llformat("%dx%d",mRawImage->getWidth(),mRawImage->getHeight()) << LL_ENDL;
setPriority(LLWorkerThread::PRIORITY_HIGH | mWorkPriority);
setState(WRITE_TO_CACHE);
}
@@ -1915,9 +1927,9 @@ bool LLTextureFetchWorker::doWork(S32 param)
{
// More data was requested, return to INIT
setState(INIT);
- LL_DEBUGS("Texture") << mID << " more data requested, returning to INIT: "
- << " mDecodedDiscard " << mDecodedDiscard << ">= 0 && mDesiredDiscard " << mDesiredDiscard
- << "<" << " mDecodedDiscard " << mDecodedDiscard << LL_ENDL;
+ LL_DEBUGS(LOG_TXT) << mID << " more data requested, returning to INIT: "
+ << " mDecodedDiscard " << mDecodedDiscard << ">= 0 && mDesiredDiscard " << mDesiredDiscard
+ << "<" << " mDecodedDiscard " << mDecodedDiscard << LL_ENDL;
setPriority(LLWorkerThread::PRIORITY_HIGH | mWorkPriority);
return false;
}
@@ -1957,8 +1969,8 @@ void LLTextureFetchWorker::onCompleted(LLCore::HttpHandle handle, LLCore::HttpRe
F32 rate = fake_failure_rate;
if (mFTType == FTT_SERVER_BAKE && (fake_failure_rate > 0.0) && (rand_val < fake_failure_rate))
{
- LL_WARNS() << mID << " for debugging, setting fake failure status for texture " << mID
- << " (rand was " << rand_val << "/" << rate << ")" << LL_ENDL;
+ LL_WARNS(LOG_TXT) << mID << " for debugging, setting fake failure status for texture " << mID
+ << " (rand was " << rand_val << "/" << rate << ")" << LL_ENDL;
response->setStatus(LLCore::HttpStatus(503));
}
bool success = true;
@@ -1966,12 +1978,12 @@ void LLTextureFetchWorker::onCompleted(LLCore::HttpHandle handle, LLCore::HttpRe
LLCore::HttpStatus status(response->getStatus());
if (!status && (mFTType == FTT_SERVER_BAKE))
{
- LL_INFOS() << mID << " state " << e_state_name[mState] << LL_ENDL;
+ LL_INFOS(LOG_TXT) << mID << " state " << e_state_name[mState] << LL_ENDL;
mFetchRetryPolicy.onFailure(response);
F32 retry_after;
if (mFetchRetryPolicy.shouldRetry(retry_after))
{
- LL_INFOS() << mID << " will retry after " << retry_after << " seconds, resetting state to LOAD_FROM_NETWORK" << LL_ENDL;
+ LL_INFOS(LOG_TXT) << mID << " will retry after " << retry_after << " seconds, resetting state to LOAD_FROM_NETWORK" << LL_ENDL;
mFetcher->removeFromHTTPQueue(mID, S32Bytes(0));
std::string reason(status.toString());
setGetStatus(status, reason);
@@ -1981,7 +1993,7 @@ void LLTextureFetchWorker::onCompleted(LLCore::HttpHandle handle, LLCore::HttpRe
}
else
{
- LL_INFOS() << mID << " will not retry" << LL_ENDL;
+ LL_INFOS(LOG_TXT) << mID << " will not retry" << LL_ENDL;
}
}
else
@@ -1989,30 +2001,20 @@ void LLTextureFetchWorker::onCompleted(LLCore::HttpHandle handle, LLCore::HttpRe
mFetchRetryPolicy.onSuccess();
}
- LL_DEBUGS("Texture") << "HTTP COMPLETE: " << mID
- << " status: " << status.toTerseString()
- << " '" << status.toString() << "'"
- << LL_ENDL;
-
-// unsigned int offset(0), length(0), full_length(0);
-// response->getRange(&offset, &length, &full_length);
-// LL_WARNS() << "HTTP COMPLETE: " << mID << " handle: " << handle
-// << " status: " << status.toULong() << " '" << status.toString() << "'"
-// << " req offset: " << mRequestedOffset << " req length: " << mRequestedSize
-// << " offset: " << offset << " length: " << length
-// << LL_ENDL;
-
std::string reason(status.toString());
setGetStatus(status, reason);
+ LL_DEBUGS(LOG_TXT) << "HTTP COMPLETE: " << mID
+ << " status: " << status.toTerseString()
+ << " '" << reason << "'"
+ << LL_ENDL;
+
if (! status)
{
success = false;
if (mFTType != FTT_MAP_TILE) // missing map tiles are normal, don't complain about them.
{
- std::string reason(status.toString());
- setGetStatus(status, reason);
- LL_WARNS() << "CURL GET FAILED, status: " << status.toTerseString()
- << " reason: " << reason << LL_ENDL;
+ LL_WARNS(LOG_TXT) << "CURL GET FAILED, status: " << status.toTerseString()
+ << " reason: " << reason << LL_ENDL;
}
}
else
@@ -2223,13 +2225,13 @@ S32 LLTextureFetchWorker::callbackHttpGet(LLCore::HttpResponse * response,
if (mState != WAIT_HTTP_REQ)
{
- LL_WARNS() << "callbackHttpGet for unrequested fetch worker: " << mID
- << " req=" << mSentRequest << " state= " << mState << LL_ENDL;
+ LL_WARNS(LOG_TXT) << "callbackHttpGet for unrequested fetch worker: " << mID
+ << " req=" << mSentRequest << " state= " << mState << LL_ENDL;
return data_size;
}
if (mLoaded)
{
- LL_WARNS() << "Duplicate callback for " << mID.asString() << LL_ENDL;
+ LL_WARNS(LOG_TXT) << "Duplicate callback for " << mID.asString() << LL_ENDL;
return data_size ; // ignore duplicate callback
}
if (success)
@@ -2238,7 +2240,7 @@ S32 LLTextureFetchWorker::callbackHttpGet(LLCore::HttpResponse * response,
LLCore::BufferArray * body(response->getBody());
data_size = body ? body->size() : 0;
- LL_DEBUGS("Texture") << "HTTP RECEIVED: " << mID.asString() << " Bytes: " << data_size << LL_ENDL;
+ LL_DEBUGS(LOG_TXT) << "HTTP RECEIVED: " << mID.asString() << " Bytes: " << data_size << LL_ENDL;
if (data_size > 0)
{
LLViewerStatsRecorder::instance().textureFetch(data_size);
@@ -2278,10 +2280,10 @@ S32 LLTextureFetchWorker::callbackHttpGet(LLCore::HttpResponse * response,
// response body becomes the entire dataset.
if (data_size <= mRequestedOffset)
{
- LL_WARNS("Texture") << "Fetched entire texture " << mID
- << " when it was expected to be marked complete. mImageSize: "
- << mFileSize << " datasize: " << mFormattedImage->getDataSize()
- << LL_ENDL;
+ LL_WARNS(LOG_TXT) << "Fetched entire texture " << mID
+ << " when it was expected to be marked complete. mImageSize: "
+ << mFileSize << " datasize: " << mFormattedImage->getDataSize()
+ << LL_ENDL;
}
mHaveAllData = TRUE;
llassert_always(mDecodeHandle == 0);
@@ -2294,7 +2296,7 @@ S32 LLTextureFetchWorker::callbackHttpGet(LLCore::HttpResponse * response,
else if (data_size > mRequestedSize)
{
// *TODO: This shouldn't be happening any more (REALLY don't expect this anymore)
- LL_WARNS() << "data_size = " << data_size << " > requested: " << mRequestedSize << LL_ENDL;
+ LL_WARNS(LOG_TXT) << "data_size = " << data_size << " > requested: " << mRequestedSize << LL_ENDL;
mHaveAllData = TRUE;
llassert_always(mDecodeHandle == 0);
mFormattedImage = NULL; // discard any previous data we had
@@ -2329,7 +2331,7 @@ void LLTextureFetchWorker::callbackCacheRead(bool success, LLImageFormatted* ima
LLMutexLock lock(&mWorkMutex); // +Mw
if (mState != LOAD_FROM_TEXTURE_CACHE)
{
-// LL_WARNS() << "Read callback for " << mID << " with state = " << mState << LL_ENDL;
+// LL_WARNS(LOG_TXT) << "Read callback for " << mID << " with state = " << mState << LL_ENDL;
return;
}
if (success)
@@ -2354,7 +2356,7 @@ void LLTextureFetchWorker::callbackCacheWrite(bool success)
LLMutexLock lock(&mWorkMutex); // +Mw
if (mState != WAIT_ON_WRITE)
{
-// LL_WARNS() << "Write callback for " << mID << " with state = " << mState << LL_ENDL;
+// LL_WARNS(LOG_TXT) << "Write callback for " << mID << " with state = " << mState << LL_ENDL;
return;
}
mWritten = TRUE;
@@ -2373,7 +2375,7 @@ void LLTextureFetchWorker::callbackDecoded(bool success, LLImageRaw* raw, LLImag
}
if (mState != DECODE_IMAGE_UPDATE)
{
-// LL_WARNS() << "Decode callback for " << mID << " with state = " << mState << LL_ENDL;
+// LL_WARNS(LOG_TXT) << "Decode callback for " << mID << " with state = " << mState << LL_ENDL;
mDecodeHandle = 0;
return;
}
@@ -2386,17 +2388,17 @@ void LLTextureFetchWorker::callbackDecoded(bool success, LLImageRaw* raw, LLImag
mRawImage = raw;
mAuxImage = aux;
mDecodedDiscard = mFormattedImage->getDiscardLevel();
- LL_DEBUGS("Texture") << mID << ": Decode Finished. Discard: " << mDecodedDiscard
- << " Raw Image: " << llformat("%dx%d",mRawImage->getWidth(),mRawImage->getHeight()) << LL_ENDL;
+ LL_DEBUGS(LOG_TXT) << mID << ": Decode Finished. Discard: " << mDecodedDiscard
+ << " Raw Image: " << llformat("%dx%d",mRawImage->getWidth(),mRawImage->getHeight()) << LL_ENDL;
}
else
{
- LL_WARNS() << "DECODE FAILED: " << mID << " Discard: " << (S32)mFormattedImage->getDiscardLevel() << LL_ENDL;
+ LL_WARNS(LOG_TXT) << "DECODE FAILED: " << mID << " Discard: " << (S32)mFormattedImage->getDiscardLevel() << LL_ENDL;
removeFromCache();
mDecodedDiscard = -1; // Redundant, here for clarity and paranoia
}
mDecoded = TRUE;
-// LL_INFOS() << mID << " : DECODE COMPLETE " << LL_ENDL;
+// LL_INFOS(LOG_TXT) << mID << " : DECODE COMPLETE " << LL_ENDL;
setPriority(LLWorkerThread::PRIORITY_HIGH | mWorkPriority);
mCacheReadTime = mCacheReadTimer.getElapsedTimeF32();
} // -Mw
@@ -2583,8 +2585,8 @@ bool LLTextureFetch::createRequest(FTType f_type, const std::string& url, const
{
if (worker->mHost != host)
{
- LL_WARNS() << "LLTextureFetch::createRequest " << id << " called with multiple hosts: "
- << host << " != " << worker->mHost << LL_ENDL;
+ LL_WARNS(LOG_TXT) << "LLTextureFetch::createRequest " << id << " called with multiple hosts: "
+ << host << " != " << worker->mHost << LL_ENDL;
removeRequest(worker, true);
worker = NULL;
return false;
@@ -2601,13 +2603,13 @@ bool LLTextureFetch::createRequest(FTType f_type, const std::string& url, const
llassert(!url.empty() && (!exten.empty() && LLImageBase::getCodecFromExtension(exten) != IMG_CODEC_J2C));
// Do full requests for baked textures to reduce interim blurring.
- LL_DEBUGS("Texture") << "full request for " << id << " texture is FTT_SERVER_BAKE" << LL_ENDL;
+ LL_DEBUGS(LOG_TXT) << "full request for " << id << " texture is FTT_SERVER_BAKE" << LL_ENDL;
desired_size = MAX_IMAGE_DATA_SIZE;
desired_discard = 0;
}
else if (!url.empty() && (!exten.empty() && LLImageBase::getCodecFromExtension(exten) != IMG_CODEC_J2C))
{
- LL_DEBUGS("Texture") << "full request for " << id << " exten is not J2C: " << exten << LL_ENDL;
+ LL_DEBUGS(LOG_TXT) << "full request for " << id << " exten is not J2C: " << exten << LL_ENDL;
// Only do partial requests for J2C at the moment
desired_size = MAX_IMAGE_DATA_SIZE;
desired_discard = 0;
@@ -2648,7 +2650,9 @@ bool LLTextureFetch::createRequest(FTType f_type, const std::string& url, const
worker->setImagePriority(priority);
worker->setDesiredDiscard(desired_discard, desired_size);
worker->setCanUseHTTP(can_use_http);
- worker->setUrl(url);
+
+ //MAINT-4184 url is always empty. Do not set with it.
+
if (!worker->haveWork())
{
worker->setState(LLTextureFetchWorker::INIT);
@@ -2675,8 +2679,8 @@ bool LLTextureFetch::createRequest(FTType f_type, const std::string& url, const
worker->unlockWorkMutex(); // -Mw
}
- LL_DEBUGS("Texture") << "REQUESTED: " << id << " f_type " << fttype_to_string(f_type)
- << " Discard: " << desired_discard << " size " << desired_size << LL_ENDL;
+ LL_DEBUGS(LOG_TXT) << "REQUESTED: " << id << " f_type " << fttype_to_string(f_type)
+ << " Discard: " << desired_discard << " size " << desired_size << LL_ENDL;
return true;
}
@@ -2871,7 +2875,7 @@ bool LLTextureFetch::getRequestFinished(const LLUUID& id, S32& discard_level,
// Should only happen if we set mDebugPause...
if (!mDebugPause)
{
-// LL_WARNS() << "Adding work for inactive worker: " << id << LL_ENDL;
+// LL_WARNS(LOG_TXT) << "Adding work for inactive worker: " << id << LL_ENDL;
worker->addWork(0, LLWorkerThread::PRIORITY_HIGH | worker->mWorkPriority);
}
}
@@ -2888,7 +2892,7 @@ bool LLTextureFetch::getRequestFinished(const LLUUID& id, S32& discard_level,
record(sCacheReadLatency, cache_read_time);
}
res = true;
- LL_DEBUGS("Texture") << id << ": Request Finished. State: " << worker->mState << " Discard: " << discard_level << LL_ENDL;
+ LL_DEBUGS(LOG_TXT) << id << ": Request Finished. State: " << worker->mState << " Discard: " << discard_level << LL_ENDL;
worker->unlockWorkMutex(); // -Mw
}
else
@@ -2993,9 +2997,9 @@ void LLTextureFetch::commonUpdate()
LLCore::HttpStatus status = mHttpRequest->update(0);
if (! status)
{
- LL_INFOS_ONCE("Texture") << "Problem during HTTP servicing. Reason: "
- << status.toString()
- << LL_ENDL;
+ LL_INFOS_ONCE(LOG_TXT) << "Problem during HTTP servicing. Reason: "
+ << status.toString()
+ << LL_ENDL;
}
}
@@ -3075,11 +3079,11 @@ void LLTextureFetch::startThread()
// Threads: Ttf
void LLTextureFetch::endThread()
{
- LL_INFOS("Texture") << "CacheReads: " << mTotalCacheReadCount
- << ", CacheWrites: " << mTotalCacheWriteCount
- << ", ResWaits: " << mTotalResourceWaitCount
- << ", TotalHTTPReq: " << getTotalNumHTTPRequests()
- << LL_ENDL;
+ LL_INFOS(LOG_TXT) << "CacheReads: " << mTotalCacheReadCount
+ << ", CacheWrites: " << mTotalCacheWriteCount
+ << ", ResWaits: " << mTotalResourceWaitCount
+ << ", TotalHTTPReq: " << getTotalNumHTTPRequests()
+ << LL_ENDL;
}
// Threads: Ttf
@@ -3108,7 +3112,7 @@ void LLTextureFetch::threadedUpdate()
S32 q = mCurlGetRequest->getQueued();
if (q > 0)
{
- LL_INFOS() << "Queued gets: " << q << LL_ENDL;
+ LL_INFOS(LOG_TXT) << "Queued gets: " << q << LL_ENDL;
info_timer.reset();
}
}
@@ -3157,7 +3161,7 @@ void LLTextureFetch::sendRequestListToSimulators()
(req->mState != LLTextureFetchWorker::LOAD_FROM_SIMULATOR))
{
// We already received our URL, remove from the queue
- LL_WARNS() << "Worker: " << req->mID << " in mNetworkQueue but in wrong state: " << req->mState << LL_ENDL;
+ LL_WARNS(LOG_TXT) << "Worker: " << req->mID << " in mNetworkQueue but in wrong state: " << req->mState << LL_ENDL;
mNetworkQueue.erase(curiter);
continue;
}
@@ -3225,7 +3229,7 @@ void LLTextureFetch::sendRequestListToSimulators()
gMessageSystem->addF32Fast(_PREHASH_DownloadPriority, req->mImagePriority);
gMessageSystem->addU32Fast(_PREHASH_Packet, packet);
gMessageSystem->addU8Fast(_PREHASH_Type, req->mType);
-// LL_INFOS() << "IMAGE REQUEST: " << req->mID << " Discard: " << req->mDesiredDiscard
+// LL_INFOS(LOG_TXT) << "IMAGE REQUEST: " << req->mID << " Discard: " << req->mDesiredDiscard
// << " Packet: " << packet << " Priority: " << req->mImagePriority << LL_ENDL;
static LLCachedControl<bool> log_to_viewer_log(gSavedSettings,"LogTextureDownloadsToViewerLog", false);
@@ -3247,7 +3251,7 @@ void LLTextureFetch::sendRequestListToSimulators()
sim_request_count++;
if (sim_request_count >= IMAGES_PER_REQUEST)
{
-// LL_INFOS() << "REQUESTING " << sim_request_count << " IMAGES FROM HOST: " << host.getIPString() << LL_ENDL;
+// LL_INFOS(LOG_TXT) << "REQUESTING " << sim_request_count << " IMAGES FROM HOST: " << host.getIPString() << LL_ENDL;
gMessageSystem->sendSemiReliable(host, NULL, NULL);
sim_request_count = 0;
@@ -3256,7 +3260,7 @@ void LLTextureFetch::sendRequestListToSimulators()
}
if (gMessageSystem && sim_request_count > 0 && sim_request_count < IMAGES_PER_REQUEST)
{
-// LL_INFOS() << "REQUESTING " << sim_request_count << " IMAGES FROM HOST: " << host.getIPString() << LL_ENDL;
+// LL_INFOS(LOG_TXT) << "REQUESTING " << sim_request_count << " IMAGES FROM HOST: " << host.getIPString() << LL_ENDL;
gMessageSystem->sendSemiReliable(host, NULL, NULL);
sim_request_count = 0;
}
@@ -3292,7 +3296,7 @@ void LLTextureFetch::sendRequestListToSimulators()
gMessageSystem->addF32Fast(_PREHASH_DownloadPriority, 0);
gMessageSystem->addU32Fast(_PREHASH_Packet, 0);
gMessageSystem->addU8Fast(_PREHASH_Type, 0);
-// LL_INFOS() << "CANCELING IMAGE REQUEST: " << (*iter2) << LL_ENDL;
+// LL_INFOS(LOG_TXT) << "CANCELING IMAGE REQUEST: " << (*iter2) << LL_ENDL;
request_count++;
if (request_count >= IMAGES_PER_REQUEST)
@@ -3320,12 +3324,12 @@ bool LLTextureFetchWorker::insertPacket(S32 index, U8* data, S32 size)
mRequestedTimer.reset();
if (index >= mTotalPackets)
{
-// LL_WARNS() << "Received Image Packet " << index << " > max: " << mTotalPackets << " for image: " << mID << LL_ENDL;
+// LL_WARNS(LOG_TXT) << "Received Image Packet " << index << " > max: " << mTotalPackets << " for image: " << mID << LL_ENDL;
return false;
}
if (index > 0 && index < mTotalPackets-1 && size != MAX_IMG_PACKET_SIZE)
{
-// LL_WARNS() << "Received bad sized packet: " << index << ", " << size << " != " << MAX_IMG_PACKET_SIZE << " for image: " << mID << LL_ENDL;
+// LL_WARNS(LOG_TXT) << "Received bad sized packet: " << index << ", " << size << " != " << MAX_IMG_PACKET_SIZE << " for image: " << mID << LL_ENDL;
return false;
}
@@ -3335,7 +3339,7 @@ bool LLTextureFetchWorker::insertPacket(S32 index, U8* data, S32 size)
}
else if (mPackets[index] != NULL)
{
-// LL_WARNS() << "Received duplicate packet: " << index << " for image: " << mID << LL_ENDL;
+// LL_WARNS(LOG_TXT) << "Received duplicate packet: " << index << " for image: " << mID << LL_ENDL;
return false;
}
@@ -3355,7 +3359,7 @@ void LLTextureFetchWorker::setState(e_state new_state)
// blurry images fairly frequently. Presumably this is an
// indication of some subtle timing or locking issue.
-// LL_INFOS("Texture") << "id: " << mID << " FTType: " << mFTType << " disc: " << mDesiredDiscard << " sz: " << mDesiredSize << " state: " << e_state_name[mState] << " => " << e_state_name[new_state] << LL_ENDL;
+// LL_INFOS(LOG_TXT) << "id: " << mID << " FTType: " << mFTType << " disc: " << mDesiredDiscard << " sz: " << mDesiredSize << " state: " << e_state_name[mState] << " => " << e_state_name[new_state] << LL_ENDL;
}
mState = new_state;
}
@@ -3371,13 +3375,13 @@ bool LLTextureFetch::receiveImageHeader(const LLHost& host, const LLUUID& id, U8
if (!worker)
{
-// LL_WARNS() << "Received header for non active worker: " << id << LL_ENDL;
+// LL_WARNS(LOG_TXT) << "Received header for non active worker: " << id << LL_ENDL;
res = false;
}
else if (worker->mState != LLTextureFetchWorker::LOAD_FROM_NETWORK ||
worker->mSentRequest != LLTextureFetchWorker::SENT_SIM)
{
-// LL_WARNS() << "receiveImageHeader for worker: " << id
+// LL_WARNS(LOG_TXT) << "receiveImageHeader for worker: " << id
// << " in state: " << LLTextureFetchWorker::sStateDescs[worker->mState]
// << " sent: " << worker->mSentRequest << LL_ENDL;
res = false;
@@ -3385,12 +3389,12 @@ bool LLTextureFetch::receiveImageHeader(const LLHost& host, const LLUUID& id, U8
else if (worker->mLastPacket != -1)
{
// check to see if we've gotten this packet before
-// LL_WARNS() << "Received duplicate header for: " << id << LL_ENDL;
+// LL_WARNS(LOG_TXT) << "Received duplicate header for: " << id << LL_ENDL;
res = false;
}
else if (!data_size)
{
-// LL_WARNS() << "Img: " << id << ":" << " Empty Image Header" << LL_ENDL;
+// LL_WARNS(LOG_TXT) << "Img: " << id << ":" << " Empty Image Header" << LL_ENDL;
res = false;
}
if (!res)
@@ -3432,17 +3436,17 @@ bool LLTextureFetch::receiveImagePacket(const LLHost& host, const LLUUID& id, U1
if (!worker)
{
-// LL_WARNS() << "Received packet " << packet_num << " for non active worker: " << id << LL_ENDL;
+// LL_WARNS(LOG_TXT) << "Received packet " << packet_num << " for non active worker: " << id << LL_ENDL;
res = false;
}
else if (worker->mLastPacket == -1)
{
-// LL_WARNS() << "Received packet " << packet_num << " before header for: " << id << LL_ENDL;
+// LL_WARNS(LOG_TXT) << "Received packet " << packet_num << " before header for: " << id << LL_ENDL;
res = false;
}
else if (!data_size)
{
-// LL_WARNS() << "Img: " << id << ":" << " Empty Image Header" << LL_ENDL;
+// LL_WARNS(LOG_TXT) << "Img: " << id << ":" << " Empty Image Header" << LL_ENDL;
res = false;
}
if (!res)
@@ -3470,7 +3474,7 @@ bool LLTextureFetch::receiveImagePacket(const LLHost& host, const LLUUID& id, U1
}
else
{
-// LL_WARNS() << "receiveImagePacket " << packet_num << "/" << worker->mLastPacket << " for worker: " << id
+// LL_WARNS(LOG_TXT) << "receiveImagePacket " << packet_num << "/" << worker->mLastPacket << " for worker: " << id
// << " in state: " << LLTextureFetchWorker::sStateDescs[worker->mState] << LL_ENDL;
removeFromNetworkQueue(worker, true); // failsafe
}
@@ -3563,33 +3567,33 @@ S32 LLTextureFetch::getFetchState(const LLUUID& id, F32& data_progress_p, F32& r
void LLTextureFetch::dump()
{
- LL_INFOS() << "LLTextureFetch REQUESTS:" << LL_ENDL;
+ LL_INFOS(LOG_TXT) << "LLTextureFetch REQUESTS:" << LL_ENDL;
for (request_queue_t::iterator iter = mRequestQueue.begin();
iter != mRequestQueue.end(); ++iter)
{
LLQueuedThread::QueuedRequest* qreq = *iter;
LLWorkerThread::WorkRequest* wreq = (LLWorkerThread::WorkRequest*)qreq;
LLTextureFetchWorker* worker = (LLTextureFetchWorker*)wreq->getWorkerClass();
- LL_INFOS() << " ID: " << worker->mID
- << " PRI: " << llformat("0x%08x",wreq->getPriority())
- << " STATE: " << worker->sStateDescs[worker->mState]
- << LL_ENDL;
+ LL_INFOS(LOG_TXT) << " ID: " << worker->mID
+ << " PRI: " << llformat("0x%08x",wreq->getPriority())
+ << " STATE: " << worker->sStateDescs[worker->mState]
+ << LL_ENDL;
}
- LL_INFOS() << "LLTextureFetch ACTIVE_HTTP:" << LL_ENDL;
+ LL_INFOS(LOG_TXT) << "LLTextureFetch ACTIVE_HTTP:" << LL_ENDL;
for (queue_t::const_iterator iter(mHTTPTextureQueue.begin());
mHTTPTextureQueue.end() != iter;
++iter)
{
- LL_INFOS() << " ID: " << (*iter) << LL_ENDL;
+ LL_INFOS(LOG_TXT) << " ID: " << (*iter) << LL_ENDL;
}
- LL_INFOS() << "LLTextureFetch WAIT_HTTP_RESOURCE:" << LL_ENDL;
+ LL_INFOS(LOG_TXT) << "LLTextureFetch WAIT_HTTP_RESOURCE:" << LL_ENDL;
for (wait_http_res_queue_t::const_iterator iter(mHttpWaitResource.begin());
mHttpWaitResource.end() != iter;
++iter)
{
- LL_INFOS() << " ID: " << (*iter) << LL_ENDL;
+ LL_INFOS(LOG_TXT) << " ID: " << (*iter) << LL_ENDL;
}
}
@@ -3714,10 +3718,10 @@ void LLTextureFetch::releaseHttpWaiters()
{
// Not in expected state, remove it, try the next one
worker->unlockWorkMutex(); // -Mw
- LL_WARNS("Texture") << "Resource-waited texture " << worker->mID
- << " in unexpected state: " << worker->mState
- << ". Removing from wait list."
- << LL_ENDL;
+ LL_WARNS(LOG_TXT) << "Resource-waited texture " << worker->mID
+ << " in unexpected state: " << worker->mState
+ << ". Removing from wait list."
+ << LL_ENDL;
removeHttpWaiter(worker->mID);
continue;
}
@@ -3884,14 +3888,14 @@ public:
if (status)
{
- LL_DEBUGS("Texture") << "Successfully delivered asset metrics to grid."
- << LL_ENDL;
+ LL_DEBUGS(LOG_TXT) << "Successfully delivered asset metrics to grid."
+ << LL_ENDL;
}
else
{
- LL_WARNS("Texture") << "Error delivering asset metrics to grid. Status: "
- << status.toTerseString()
- << ", Reason: " << status.toString() << LL_ENDL;
+ LL_WARNS(LOG_TXT) << "Error delivering asset metrics to grid. Status: "
+ << status.toTerseString()
+ << ", Reason: " << status.toString() << LL_ENDL;
}
}
}; // end class AssetReportHandler
@@ -4502,14 +4506,14 @@ void LLTextureFetchDebugger::debugHTTP()
LLViewerRegion* region = gAgent.getRegion();
if (!region)
{
- LL_INFOS() << "Fetch Debugger : Current region undefined. Cannot fetch textures through HTTP." << LL_ENDL;
+ LL_INFOS(LOG_TXT) << "Fetch Debugger : Current region undefined. Cannot fetch textures through HTTP." << LL_ENDL;
return;
}
mHTTPUrl = region->getHttpUrl();
if (mHTTPUrl.empty())
{
- LL_INFOS() << "Fetch Debugger : Current region URL undefined. Cannot fetch textures through HTTP." << LL_ENDL;
+ LL_INFOS(LOG_TXT) << "Fetch Debugger : Current region URL undefined. Cannot fetch textures through HTTP." << LL_ENDL;
return;
}
@@ -4580,15 +4584,15 @@ S32 LLTextureFetchDebugger::fillCurlQueue()
// Failed to queue request, log it and mark it done.
LLCore::HttpStatus status(mFetcher->getHttpRequest().getStatus());
- LL_WARNS("Texture") << "Couldn't issue HTTP request in debugger for texture "
- << mFetchingHistory[i].mID
- << ", status: " << status.toTerseString()
- << " reason: " << status.toString()
- << LL_ENDL;
+ LL_WARNS(LOG_TXT) << "Couldn't issue HTTP request in debugger for texture "
+ << mFetchingHistory[i].mID
+ << ", status: " << status.toTerseString()
+ << " reason: " << status.toString()
+ << LL_ENDL;
mFetchingHistory[i].mCurlState = FetchEntry::CURL_DONE;
}
}
- //LL_INFOS() << "Fetch Debugger : Having " << mNbCurlRequests << " requests through the curl thread." << LL_ENDL;
+ //LL_INFOS(LOG_TXT) << "Fetch Debugger : Having " << mNbCurlRequests << " requests through the curl thread." << LL_ENDL;
return mNbCurlRequests;
}
@@ -4890,7 +4894,7 @@ void LLTextureFetchDebugger::onCompleted(LLCore::HttpHandle handle, LLCore::Http
handle_fetch_map_t::iterator iter(mHandleToFetchIndex.find(handle));
if (mHandleToFetchIndex.end() == iter)
{
- LL_INFOS() << "Fetch Debugger : Couldn't find handle " << handle << " in fetch list." << LL_ENDL;
+ LL_INFOS(LOG_TXT) << "Fetch Debugger : Couldn't find handle " << handle << " in fetch list." << LL_ENDL;
return;
}
@@ -4898,7 +4902,7 @@ void LLTextureFetchDebugger::onCompleted(LLCore::HttpHandle handle, LLCore::Http
mHandleToFetchIndex.erase(iter);
if (fetch_ind >= mFetchingHistory.size() || mFetchingHistory[fetch_ind].mHttpHandle != handle)
{
- LL_INFOS() << "Fetch Debugger : Handle and fetch object in disagreement. Punting." << LL_ENDL;
+ LL_INFOS(LOG_TXT) << "Fetch Debugger : Handle and fetch object in disagreement. Punting." << LL_ENDL;
}
else
{
@@ -4948,7 +4952,7 @@ void LLTextureFetchDebugger::callbackHTTP(FetchEntry & fetch, LLCore::HttpRespon
S32 data_size = ba ? ba->size() : 0;
fetch.mCurlReceivedSize += data_size;
- //LL_INFOS() << "Fetch Debugger : got results for " << fetch.mID << ", data_size = " << data_size << ", received = " << fetch.mCurlReceivedSize << ", requested = " << fetch.mRequestedSize << ", partial = " << partial << LL_ENDL;
+ //LL_INFOS(LOG_TXT) << "Fetch Debugger : got results for " << fetch.mID << ", data_size = " << data_size << ", received = " << fetch.mCurlReceivedSize << ", requested = " << fetch.mRequestedSize << ", partial = " << partial << LL_ENDL;
if ((fetch.mCurlReceivedSize >= fetch.mRequestedSize) || !partial || (fetch.mRequestedSize == 600))
{
U8* d_buffer = (U8*)ALLOCATE_MEM(LLImageBase::getPrivatePool(), data_size);
@@ -4974,9 +4978,9 @@ void LLTextureFetchDebugger::callbackHTTP(FetchEntry & fetch, LLCore::HttpRespon
}
else //failed
{
- LL_INFOS() << "Fetch Debugger : CURL GET FAILED, ID = " << fetch.mID
- << ", status: " << status.toTerseString()
- << " reason: " << status.toString() << LL_ENDL;
+ LL_INFOS(LOG_TXT) << "Fetch Debugger : CURL GET FAILED, ID = " << fetch.mID
+ << ", status: " << status.toTerseString()
+ << " reason: " << status.toString() << LL_ENDL;
}
}
diff --git a/indra/newview/lltextureview.cpp b/indra/newview/lltextureview.cpp
index aa1f680a1e..4f0413a2e4 100755
--- a/indra/newview/lltextureview.cpp
+++ b/indra/newview/lltextureview.cpp
@@ -563,7 +563,7 @@ void LLGLTexMemBar::draw()
//----------------------------------------------------------------------------
- text = llformat("Textures: %d Fetch: %d(%d) Pkts:%d(%d) Cache R/W: %d/%d LFS:%d RAW:%d HTP:%d DEC:%d CRE:%d",
+ text = llformat("Textures: %d Fetch: %d(%d) Pkts:%d(%d) Cache R/W: %d/%d LFS:%d RAW:%d HTP:%d DEC:%d CRE:%d ",
gTextureList.getNumImages(),
LLAppViewer::getTextureFetch()->getNumRequests(), LLAppViewer::getTextureFetch()->getNumDeletes(),
LLAppViewer::getTextureFetch()->mPacketCount, LLAppViewer::getTextureFetch()->mBadPacketCount,
@@ -585,7 +585,7 @@ void LLGLTexMemBar::draw()
color = bandwidth > max_bandwidth ? LLColor4::red : bandwidth > max_bandwidth*.75f ? LLColor4::yellow : text_color;
color[VALPHA] = text_color[VALPHA];
text = llformat("BW:%.0f/%.0f",bandwidth.value(), max_bandwidth.value());
- LLFontGL::getFontMonospace()->renderUTF8(text, 0, x_right, v_offset + line_height*2,
+ LLFontGL::getFontMonospace()->renderUTF8(text, 0, x_right, v_offset + line_height*3,
color, LLFontGL::LEFT, LLFontGL::TOP);
// Mesh status line
diff --git a/indra/newview/skins/default/textures/bottomtray/ChatBarHandle.png b/indra/newview/skins/default/textures/bottomtray/ChatBarHandle.png
index 8b58db0cba..50239c8af8 100755
--- a/indra/newview/skins/default/textures/bottomtray/ChatBarHandle.png
+++ b/indra/newview/skins/default/textures/bottomtray/ChatBarHandle.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/bottomtray/Move_Fly_Off.png b/indra/newview/skins/default/textures/bottomtray/Move_Fly_Off.png
index 9e7291d6fb..fade065ce7 100755
--- a/indra/newview/skins/default/textures/bottomtray/Move_Fly_Off.png
+++ b/indra/newview/skins/default/textures/bottomtray/Move_Fly_Off.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/bottomtray/Notices_Unread.png b/indra/newview/skins/default/textures/bottomtray/Notices_Unread.png
index 0ac5b72b8f..eb2f3dbaa4 100755
--- a/indra/newview/skins/default/textures/bottomtray/Notices_Unread.png
+++ b/indra/newview/skins/default/textures/bottomtray/Notices_Unread.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/bottomtray/Snapshot_Off.png b/indra/newview/skins/default/textures/bottomtray/Snapshot_Off.png
index d7ec04237b..4ab4bbe4af 100755
--- a/indra/newview/skins/default/textures/bottomtray/Snapshot_Off.png
+++ b/indra/newview/skins/default/textures/bottomtray/Snapshot_Off.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/down_arrow.png b/indra/newview/skins/default/textures/down_arrow.png
index 155f80c97e..21a0fc5ec0 100755
--- a/indra/newview/skins/default/textures/down_arrow.png
+++ b/indra/newview/skins/default/textures/down_arrow.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Edit_Wrench.png b/indra/newview/skins/default/textures/icons/Edit_Wrench.png
index edb40b9c96..42f8466969 100755
--- a/indra/newview/skins/default/textures/icons/Edit_Wrench.png
+++ b/indra/newview/skins/default/textures/icons/Edit_Wrench.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Generic_Group_Large.png b/indra/newview/skins/default/textures/icons/Generic_Group_Large.png
index 75833eccf3..46ee6dfe2c 100755
--- a/indra/newview/skins/default/textures/icons/Generic_Group_Large.png
+++ b/indra/newview/skins/default/textures/icons/Generic_Group_Large.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Generic_Person.png b/indra/newview/skins/default/textures/icons/Generic_Person.png
index 45b491ab59..e1411354af 100755
--- a/indra/newview/skins/default/textures/icons/Generic_Person.png
+++ b/indra/newview/skins/default/textures/icons/Generic_Person.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Hierarchy_View_On.png b/indra/newview/skins/default/textures/icons/Hierarchy_View_On.png
index 296311e797..ae8c8b4c1a 100755
--- a/indra/newview/skins/default/textures/icons/Hierarchy_View_On.png
+++ b/indra/newview/skins/default/textures/icons/Hierarchy_View_On.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Inv_Link.png b/indra/newview/skins/default/textures/icons/Inv_Link.png
index c1543dacb5..26bf4086fb 100755
--- a/indra/newview/skins/default/textures/icons/Inv_Link.png
+++ b/indra/newview/skins/default/textures/icons/Inv_Link.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Inv_LostClosed.png b/indra/newview/skins/default/textures/icons/Inv_LostClosed.png
index a800217e0d..42b5c88fdd 100755
--- a/indra/newview/skins/default/textures/icons/Inv_LostClosed.png
+++ b/indra/newview/skins/default/textures/icons/Inv_LostClosed.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Inv_LostOpen.png b/indra/newview/skins/default/textures/icons/Inv_LostOpen.png
index 8c4a1a9ac0..a52168d6c7 100755
--- a/indra/newview/skins/default/textures/icons/Inv_LostOpen.png
+++ b/indra/newview/skins/default/textures/icons/Inv_LostOpen.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Inv_Mesh.png b/indra/newview/skins/default/textures/icons/Inv_Mesh.png
index f1f21f7941..77e52264c3 100755
--- a/indra/newview/skins/default/textures/icons/Inv_Mesh.png
+++ b/indra/newview/skins/default/textures/icons/Inv_Mesh.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Inv_SysClosed.png b/indra/newview/skins/default/textures/icons/Inv_SysClosed.png
index dcf998449f..57eafc4047 100755
--- a/indra/newview/skins/default/textures/icons/Inv_SysClosed.png
+++ b/indra/newview/skins/default/textures/icons/Inv_SysClosed.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Inv_SysOpen.png b/indra/newview/skins/default/textures/icons/Inv_SysOpen.png
index 0efd403c95..b080688e55 100755
--- a/indra/newview/skins/default/textures/icons/Inv_SysOpen.png
+++ b/indra/newview/skins/default/textures/icons/Inv_SysOpen.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Inv_TrashClosed.png b/indra/newview/skins/default/textures/icons/Inv_TrashClosed.png
index c5201e6f9a..7a958c1ec0 100755
--- a/indra/newview/skins/default/textures/icons/Inv_TrashClosed.png
+++ b/indra/newview/skins/default/textures/icons/Inv_TrashClosed.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Inv_TrashOpen.png b/indra/newview/skins/default/textures/icons/Inv_TrashOpen.png
index 4a886a3f37..11e6bf33bc 100755
--- a/indra/newview/skins/default/textures/icons/Inv_TrashOpen.png
+++ b/indra/newview/skins/default/textures/icons/Inv_TrashOpen.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_FlyNo_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_FlyNo_Dark.png
index e0b18b2451..af65873cb6 100755
--- a/indra/newview/skins/default/textures/icons/Parcel_FlyNo_Dark.png
+++ b/indra/newview/skins/default/textures/icons/Parcel_FlyNo_Dark.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_FlyNo_Light.png b/indra/newview/skins/default/textures/icons/Parcel_FlyNo_Light.png
index 101aaa42b1..6ceb9d3d8f 100755
--- a/indra/newview/skins/default/textures/icons/Parcel_FlyNo_Light.png
+++ b/indra/newview/skins/default/textures/icons/Parcel_FlyNo_Light.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_Fly_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_Fly_Dark.png
index c27f18e3c7..7084e2f591 100755
--- a/indra/newview/skins/default/textures/icons/Parcel_Fly_Dark.png
+++ b/indra/newview/skins/default/textures/icons/Parcel_Fly_Dark.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOff_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOff_Dark.png
index 956e02b14d..60d056b573 100755
--- a/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOff_Dark.png
+++ b/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOff_Dark.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOff_Light.png b/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOff_Light.png
index 434caeda8b..d004b0f750 100755
--- a/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOff_Light.png
+++ b/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOff_Light.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOn_Dark.png b/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOn_Dark.png
index 064687ed0f..eed28765f7 100755
--- a/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOn_Dark.png
+++ b/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOn_Dark.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOn_Light.png b/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOn_Light.png
index 5465650d0c..e35de3c2fa 100755
--- a/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOn_Light.png
+++ b/indra/newview/skins/default/textures/icons/Parcel_SeeAVsOn_Light.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Person_Check.png b/indra/newview/skins/default/textures/icons/Person_Check.png
index f8638540d4..d40eafe793 100755
--- a/indra/newview/skins/default/textures/icons/Person_Check.png
+++ b/indra/newview/skins/default/textures/icons/Person_Check.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Person_Star.png b/indra/newview/skins/default/textures/icons/Person_Star.png
index ad10580ac4..e02935672f 100755
--- a/indra/newview/skins/default/textures/icons/Person_Star.png
+++ b/indra/newview/skins/default/textures/icons/Person_Star.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/SL_Logo.png b/indra/newview/skins/default/textures/icons/SL_Logo.png
index 8342d7cfee..5e376c72f9 100755
--- a/indra/newview/skins/default/textures/icons/SL_Logo.png
+++ b/indra/newview/skins/default/textures/icons/SL_Logo.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Shop.png b/indra/newview/skins/default/textures/icons/Shop.png
index 81c13eeabd..8977c49195 100755
--- a/indra/newview/skins/default/textures/icons/Shop.png
+++ b/indra/newview/skins/default/textures/icons/Shop.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/Web_Profile_Off.png b/indra/newview/skins/default/textures/icons/Web_Profile_Off.png
index f5fb774a6f..5716dd6d22 100755
--- a/indra/newview/skins/default/textures/icons/Web_Profile_Off.png
+++ b/indra/newview/skins/default/textures/icons/Web_Profile_Off.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/back_arrow_off.png b/indra/newview/skins/default/textures/icons/back_arrow_off.png
index 422f67cf83..e7cea49d73 100755
--- a/indra/newview/skins/default/textures/icons/back_arrow_off.png
+++ b/indra/newview/skins/default/textures/icons/back_arrow_off.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/back_arrow_over.png b/indra/newview/skins/default/textures/icons/back_arrow_over.png
index b4cc170f37..4e5a93a25f 100755
--- a/indra/newview/skins/default/textures/icons/back_arrow_over.png
+++ b/indra/newview/skins/default/textures/icons/back_arrow_over.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/back_arrow_press.png b/indra/newview/skins/default/textures/icons/back_arrow_press.png
index a9e2f326a7..289b8c20e6 100755
--- a/indra/newview/skins/default/textures/icons/back_arrow_press.png
+++ b/indra/newview/skins/default/textures/icons/back_arrow_press.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/check_mark.png b/indra/newview/skins/default/textures/icons/check_mark.png
index 2c05297f4f..4d927cb29e 100755
--- a/indra/newview/skins/default/textures/icons/check_mark.png
+++ b/indra/newview/skins/default/textures/icons/check_mark.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/icons/pop_up_caution.png b/indra/newview/skins/default/textures/icons/pop_up_caution.png
index 78b681cb33..8364bcc328 100755
--- a/indra/newview/skins/default/textures/icons/pop_up_caution.png
+++ b/indra/newview/skins/default/textures/icons/pop_up_caution.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/menu_separator.png b/indra/newview/skins/default/textures/menu_separator.png
index 89dcdcdff5..7bb27c499d 100755
--- a/indra/newview/skins/default/textures/menu_separator.png
+++ b/indra/newview/skins/default/textures/menu_separator.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/model_wizard/progress_bar_bg.png b/indra/newview/skins/default/textures/model_wizard/progress_bar_bg.png
index d0b213cdc5..7c6920205f 100755
--- a/indra/newview/skins/default/textures/model_wizard/progress_bar_bg.png
+++ b/indra/newview/skins/default/textures/model_wizard/progress_bar_bg.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/model_wizard/progress_light.png b/indra/newview/skins/default/textures/model_wizard/progress_light.png
index 019344f812..c8ab151c44 100755
--- a/indra/newview/skins/default/textures/model_wizard/progress_light.png
+++ b/indra/newview/skins/default/textures/model_wizard/progress_light.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/navbar/Search.png b/indra/newview/skins/default/textures/navbar/Search.png
index 0d0e330bc7..4c29e57f7b 100755
--- a/indra/newview/skins/default/textures/navbar/Search.png
+++ b/indra/newview/skins/default/textures/navbar/Search.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/navbar/separator.png b/indra/newview/skins/default/textures/navbar/separator.png
index b93e5791a7..c1d74e5a64 100755
--- a/indra/newview/skins/default/textures/navbar/separator.png
+++ b/indra/newview/skins/default/textures/navbar/separator.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Dock_Foreground.png b/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Dock_Foreground.png
index 50c01062a5..4e59042e33 100755
--- a/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Dock_Foreground.png
+++ b/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Dock_Foreground.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Dock_Press.png b/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Dock_Press.png
index bf2065cd37..be7b298bb8 100755
--- a/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Dock_Press.png
+++ b/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Dock_Press.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Undock_Foreground.png b/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Undock_Foreground.png
index 8b48258142..1e234ff09b 100755
--- a/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Undock_Foreground.png
+++ b/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Undock_Foreground.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Undock_Press.png b/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Undock_Press.png
index 09efe779fe..48c78b453d 100755
--- a/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Undock_Press.png
+++ b/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Undock_Press.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/toolbar_icons/facebook.png b/indra/newview/skins/default/textures/toolbar_icons/facebook.png
index b960b834dc..ae524b643f 100644
--- a/indra/newview/skins/default/textures/toolbar_icons/facebook.png
+++ b/indra/newview/skins/default/textures/toolbar_icons/facebook.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/toolbar_icons/mini_cart.png b/indra/newview/skins/default/textures/toolbar_icons/mini_cart.png
index 9fcf46794d..9eeb1d4e09 100755
--- a/indra/newview/skins/default/textures/toolbar_icons/mini_cart.png
+++ b/indra/newview/skins/default/textures/toolbar_icons/mini_cart.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/up_arrow.png b/indra/newview/skins/default/textures/up_arrow.png
index fe68ad49dc..76f839510e 100755
--- a/indra/newview/skins/default/textures/up_arrow.png
+++ b/indra/newview/skins/default/textures/up_arrow.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/widgets/Arrow_Down.png b/indra/newview/skins/default/textures/widgets/Arrow_Down.png
index e10f6472eb..cb4eea953c 100755
--- a/indra/newview/skins/default/textures/widgets/Arrow_Down.png
+++ b/indra/newview/skins/default/textures/widgets/Arrow_Down.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Disabled.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Disabled.png
index c7c0eaa96b..3897e16801 100755
--- a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Disabled.png
+++ b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Disabled.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Off.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Off.png
index 4a73c254fc..95a4a36c9d 100755
--- a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Off.png
+++ b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Off.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Over.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Over.png
index 6fb5c432de..20d1ebf53d 100755
--- a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Over.png
+++ b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Over.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Press.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Press.png
index fa18517933..63f4b503e2 100755
--- a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Press.png
+++ b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Left_Press.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Disabled.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Disabled.png
index bed1a701bd..d570f77f6d 100755
--- a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Disabled.png
+++ b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Disabled.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Off.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Off.png
index 57ce9af574..28a002b118 100755
--- a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Off.png
+++ b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Off.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Over.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Over.png
index 2c43022f0e..a195e80b0e 100755
--- a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Over.png
+++ b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Over.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Press.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Press.png
index 6b8c1baca4..9863ee32cb 100755
--- a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Press.png
+++ b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Middle_Press.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Disabled.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Disabled.png
index 51505e80c5..2ffbc4a16f 100755
--- a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Disabled.png
+++ b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Disabled.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Off.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Off.png
index 9f93efbd93..ce47da169b 100755
--- a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Off.png
+++ b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Off.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Over.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Over.png
index 3a4ec1a315..2225150983 100755
--- a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Over.png
+++ b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Over.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Press.png b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Press.png
index 1f1b4c2ed5..2d541d0f70 100755
--- a/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Press.png
+++ b/indra/newview/skins/default/textures/widgets/BreadCrumbBtn_Right_Press.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/widgets/Tooltip.png b/indra/newview/skins/default/textures/widgets/Tooltip.png
index f989ac9083..3c4d6a965d 100755
--- a/indra/newview/skins/default/textures/widgets/Tooltip.png
+++ b/indra/newview/skins/default/textures/widgets/Tooltip.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/windows/Icon_Close_Foreground.png b/indra/newview/skins/default/textures/windows/Icon_Close_Foreground.png
index 2292b79eda..3534b716fd 100755
--- a/indra/newview/skins/default/textures/windows/Icon_Close_Foreground.png
+++ b/indra/newview/skins/default/textures/windows/Icon_Close_Foreground.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/windows/Icon_Help_Foreground.png b/indra/newview/skins/default/textures/windows/Icon_Help_Foreground.png
index 1a514742d3..177c0675bb 100755
--- a/indra/newview/skins/default/textures/windows/Icon_Help_Foreground.png
+++ b/indra/newview/skins/default/textures/windows/Icon_Help_Foreground.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/windows/Icon_Help_Press.png b/indra/newview/skins/default/textures/windows/Icon_Help_Press.png
index 7478644b6a..aa21a1c789 100755
--- a/indra/newview/skins/default/textures/windows/Icon_Help_Press.png
+++ b/indra/newview/skins/default/textures/windows/Icon_Help_Press.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/windows/Icon_Minimize_Foreground.png b/indra/newview/skins/default/textures/windows/Icon_Minimize_Foreground.png
index 9f72a5422b..a98a3a98c2 100755
--- a/indra/newview/skins/default/textures/windows/Icon_Minimize_Foreground.png
+++ b/indra/newview/skins/default/textures/windows/Icon_Minimize_Foreground.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/windows/Icon_Minimize_Press.png b/indra/newview/skins/default/textures/windows/Icon_Minimize_Press.png
index 07db8be1b0..5df0e7691c 100755
--- a/indra/newview/skins/default/textures/windows/Icon_Minimize_Press.png
+++ b/indra/newview/skins/default/textures/windows/Icon_Minimize_Press.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/windows/Icon_Restore_Foreground.png b/indra/newview/skins/default/textures/windows/Icon_Restore_Foreground.png
index 1e753aaf1d..b4d4ef01fc 100755
--- a/indra/newview/skins/default/textures/windows/Icon_Restore_Foreground.png
+++ b/indra/newview/skins/default/textures/windows/Icon_Restore_Foreground.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/windows/Icon_Restore_Press.png b/indra/newview/skins/default/textures/windows/Icon_Restore_Press.png
index be66b05230..0d0238dc32 100755
--- a/indra/newview/skins/default/textures/windows/Icon_Restore_Press.png
+++ b/indra/newview/skins/default/textures/windows/Icon_Restore_Press.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/windows/hint_arrow_down.png b/indra/newview/skins/default/textures/windows/hint_arrow_down.png
index ddadef0978..0cb5a819ec 100755
--- a/indra/newview/skins/default/textures/windows/hint_arrow_down.png
+++ b/indra/newview/skins/default/textures/windows/hint_arrow_down.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/windows/hint_arrow_left.png b/indra/newview/skins/default/textures/windows/hint_arrow_left.png
index 2794b967e8..45204d9132 100755
--- a/indra/newview/skins/default/textures/windows/hint_arrow_left.png
+++ b/indra/newview/skins/default/textures/windows/hint_arrow_left.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/windows/hint_arrow_lower_left.png b/indra/newview/skins/default/textures/windows/hint_arrow_lower_left.png
index 0dfc99898d..3e3ae9f42d 100755
--- a/indra/newview/skins/default/textures/windows/hint_arrow_lower_left.png
+++ b/indra/newview/skins/default/textures/windows/hint_arrow_lower_left.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/windows/hint_arrow_right.png b/indra/newview/skins/default/textures/windows/hint_arrow_right.png
index 7ac57f805b..3fe7a773c3 100755
--- a/indra/newview/skins/default/textures/windows/hint_arrow_right.png
+++ b/indra/newview/skins/default/textures/windows/hint_arrow_right.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/windows/hint_arrow_up.png b/indra/newview/skins/default/textures/windows/hint_arrow_up.png
index bb3e1c07fa..44f003dc63 100755
--- a/indra/newview/skins/default/textures/windows/hint_arrow_up.png
+++ b/indra/newview/skins/default/textures/windows/hint_arrow_up.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/windows/hint_background.png b/indra/newview/skins/default/textures/windows/hint_background.png
index cfac5deacb..e25f354347 100755
--- a/indra/newview/skins/default/textures/windows/hint_background.png
+++ b/indra/newview/skins/default/textures/windows/hint_background.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/windows/yellow_gradient.png b/indra/newview/skins/default/textures/windows/yellow_gradient.png
index 5fd847aaef..5bd21b4297 100755
--- a/indra/newview/skins/default/textures/windows/yellow_gradient.png
+++ b/indra/newview/skins/default/textures/windows/yellow_gradient.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/world/CameraDragDot.png b/indra/newview/skins/default/textures/world/CameraDragDot.png
index 57698e1956..2ccf098e0f 100755
--- a/indra/newview/skins/default/textures/world/CameraDragDot.png
+++ b/indra/newview/skins/default/textures/world/CameraDragDot.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/world/NoEntryLines.png b/indra/newview/skins/default/textures/world/NoEntryLines.png
index 18e270bde5..d7496b8bd0 100755
--- a/indra/newview/skins/default/textures/world/NoEntryLines.png
+++ b/indra/newview/skins/default/textures/world/NoEntryLines.png
Binary files differ
diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py
index f079f31c81..7544fe1c41 100755
--- a/indra/newview/viewer_manifest.py
+++ b/indra/newview/viewer_manifest.py
@@ -798,15 +798,42 @@ class Darwin_i386_Manifest(ViewerManifest):
for libfile in dylibs:
symlinkf(os.path.join(os.pardir, os.pardir, os.pardir, libfile),
os.path.join(resource_path, libfile))
-
- # plugins
+ # SLPlugin.app/Contents/Resources gets those Qt4 libraries it needs.
+ if self.prefix(src="", dst="SLPlugin.app/Contents/Resources"):
+ for libfile in ('libQtCore.4.dylib',
+ 'libQtCore.4.7.1.dylib',
+ 'libQtGui.4.dylib',
+ 'libQtGui.4.7.1.dylib',
+ 'libQtNetwork.4.dylib',
+ 'libQtNetwork.4.7.1.dylib',
+ 'libQtOpenGL.4.dylib',
+ 'libQtOpenGL.4.7.1.dylib',
+ 'libQtSvg.4.dylib',
+ 'libQtSvg.4.7.1.dylib',
+ 'libQtWebKit.4.dylib',
+ 'libQtWebKit.4.7.1.dylib',
+ 'libQtXml.4.dylib',
+ 'libQtXml.4.7.1.dylib'):
+ self.path2basename("../packages/lib/release", libfile)
+ self.end_prefix("SLPlugin.app/Contents/Resources")
+
+ # Qt4 codecs go to llplugin. Not certain why but this is the first
+ # location probed according to dtruss so we'll go with that.
+ if self.prefix(src="../packages/plugins/codecs/", dst="llplugin/codecs"):
+ self.path("libq*.dylib")
+ self.end_prefix("llplugin/codecs")
+
+ # Similarly for imageformats.
+ if self.prefix(src="../packages/plugins/imageformats/", dst="llplugin/imageformats"):
+ self.path("libq*.dylib")
+ self.end_prefix("llplugin/imageformats")
+
+ # SLPlugin plugins proper
if self.prefix(src="", dst="llplugin"):
self.path2basename("../media_plugins/quicktime/" + self.args['configuration'],
"media_plugin_quicktime.dylib")
self.path2basename("../media_plugins/webkit/" + self.args['configuration'],
"media_plugin_webkit.dylib")
- self.path2basename("../packages/lib/release", "libllqtwebkit.dylib")
-
self.end_prefix("llplugin")
self.end_prefix("Resources")
@@ -1011,6 +1038,7 @@ class LinuxManifest(ViewerManifest):
self.path("../media_plugins/gstreamer010/libmedia_plugin_gstreamer010.so", "libmedia_plugin_gstreamer.so")
self.end_prefix("bin/llplugin")
+ # llcommon
if not self.path("../llcommon/libllcommon.so", "lib/libllcommon.so"):
print "Skipping llcommon.so (assuming llcommon was linked statically)"
@@ -1076,20 +1104,9 @@ class Linux_i686_Manifest(LinuxManifest):
self.path("libaprutil-1.so")
self.path("libaprutil-1.so.0")
self.path("libaprutil-1.so.0.4.1")
- self.path("libboost_context-mt.so.*")
- self.path("libboost_filesystem-mt.so.*")
- self.path("libboost_program_options-mt.so.*")
- self.path("libboost_regex-mt.so.*")
- self.path("libboost_signals-mt.so.*")
- self.path("libboost_system-mt.so.*")
- self.path("libboost_thread-mt.so.*")
- self.path("libcollada14dom.so")
self.path("libdb*.so")
- self.path("libcrypto.so.*")
self.path("libexpat.so.*")
- self.path("libssl.so.1.0.0")
self.path("libGLOD.so")
- self.path("libminizip.so")
self.path("libuuid.so*")
self.path("libSDL-1.2.so.*")
self.path("libdirectfb-1.*.so.*")
@@ -1121,6 +1138,10 @@ class Linux_i686_Manifest(LinuxManifest):
# previous call did, without having to explicitly state the
# version number.
self.path("libfontconfig.so.*.*")
+
+ # Include libfreetype.so. but have it work as libfontconfig does.
+ self.path("libfreetype.so.*.*")
+
try:
self.path("libtcmalloc.so*") #formerly called google perf tools
pass
@@ -1129,26 +1150,55 @@ class Linux_i686_Manifest(LinuxManifest):
pass
try:
- self.path("libfmodex-*.so")
- self.path("libfmodex.so")
- pass
+ self.path("libfmodex-*.so")
+ self.path("libfmodex.so")
+ pass
except:
- print "Skipping libfmodex.so - not found"
- pass
+ print "Skipping libfmodex.so - not found"
+ pass
self.end_prefix("lib")
# Vivox runtimes
if self.prefix(src="../packages/lib/release", dst="bin"):
- self.path("SLVoice")
- self.end_prefix()
+ self.path("SLVoice")
+ self.end_prefix()
+ if self.prefix(src="../packages/lib/release", dst="lib"):
+ self.path("libortp.so")
+ self.path("libsndfile.so.1")
+ #self.path("libvivoxoal.so.1") # no - we'll re-use the viewer's own OpenAL lib
+ self.path("libvivoxsdk.so")
+ self.path("libvivoxplatform.so")
+ self.end_prefix("lib")
+
+ # plugin runtime
if self.prefix(src="../packages/lib/release", dst="lib"):
- self.path("libortp.so")
- self.path("libsndfile.so.1")
- #self.path("libvivoxoal.so.1") # no - we'll re-use the viewer's own OpenAL lib
- self.path("libvivoxsdk.so")
- self.path("libvivoxplatform.so")
- self.end_prefix("lib")
+ self.path("libQtCore.so*")
+ self.path("libQtGui.so*")
+ self.path("libQtNetwork.so*")
+ self.path("libQtOpenGL.so*")
+ self.path("libQtSvg.so*")
+ self.path("libQtWebKit.so*")
+ self.path("libQtXml.so*")
+ self.end_prefix("lib")
+
+ # For WebKit/Qt plugin runtimes (image format plugins)
+ if self.prefix(src="../packages/plugins/imageformats", dst="bin/llplugin/imageformats"):
+ self.path("libqgif.so")
+ self.path("libqico.so")
+ self.path("libqjpeg.so")
+ self.path("libqmng.so")
+ self.path("libqsvg.so")
+ self.path("libqtiff.so")
+ self.end_prefix("bin/llplugin/imageformats")
+
+ # For WebKit/Qt plugin runtimes (codec/character encoding plugins)
+ if self.prefix(src="../packages/plugins/codecs", dst="bin/llplugin/codecs"):
+ self.path("libqcncodecs.so")
+ self.path("libqjpcodecs.so")
+ self.path("libqkrcodecs.so")
+ self.path("libqtwcodecs.so")
+ self.end_prefix("bin/llplugin/codecs")
self.strip_binaries()