diff --git a/autobuild.xml b/autobuild.xml
index bf9afc8a59..75471f5b6f 100644
--- a/autobuild.xml
+++ b/autobuild.xml
@@ -106,9 +106,9 @@
archive
name
linux64
@@ -552,9 +552,9 @@
archive
name
linux64
@@ -736,9 +736,9 @@
archive
name
linux64
@@ -1030,9 +1030,9 @@
archive
name
linux64
@@ -1964,9 +1964,9 @@
archive
name
linux64
@@ -3452,9 +3452,9 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors
archive
name
linux64
diff --git a/indra/cmake/Discord.cmake b/indra/cmake/Discord.cmake
index e0e38003c3..f9f97a4dc7 100644
--- a/indra/cmake/Discord.cmake
+++ b/indra/cmake/Discord.cmake
@@ -1,13 +1,19 @@
# -*- cmake -*-
+include_guard()
+add_library(fs::discord INTERFACE IMPORTED)
+
include(Prebuilt)
use_prebuilt_binary(discord-rpc)
-set(DISCORD_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/discord-rpc)
if (WINDOWS)
- set(DISCORD_LIBRARY discord-rpc)
+ target_link_libraries(fs::discord INTERFACE discord-rpc)
elseif (LINUX)
-set(DISCORD_LIBRARY discord-rpc)
+ target_link_libraries(fs::discord INTERFACE discord-rpc)
elseif (DARWIN)
-set(DISCORD_LIBRARY discord-rpc)
+ target_link_libraries(fs::discord INTERFACE discord-rpc)
endif (WINDOWS)
+
+target_include_directories(fs::discord SYSTEM INTERFACE
+ ${AUTOBUILD_INSTALL_DIR}/include/discord-rpc
+ )
diff --git a/indra/cmake/FindFMODSTUDIO.cmake b/indra/cmake/FindFMODSTUDIO.cmake
deleted file mode 100644
index 4562b0ae45..0000000000
--- a/indra/cmake/FindFMODSTUDIO.cmake
+++ /dev/null
@@ -1,65 +0,0 @@
-# -*- cmake -*-
-
-# - Find FMODSTUDIO
-# Find the FMODSTUDIO includes and library
-# This module defines
-# FMODSTUDIO_INCLUDE_DIR, where to find fmod.h and fmod_errors.h
-# FMODSTUDIO_LIBRARIES, the libraries needed to use FMODSTUDIO.
-# FMODSTUDIO, If false, do not try to use FMODSTUDIO.
-# also defined, but not for general use are
-# FMODSTUDIO_LIBRARY, where to find the FMODSTUDIO library.
-
-FIND_PATH(FMODSTUDIO_INCLUDE_DIR fmod.h PATH_SUFFIXES fmod)
-
-SET(FMODSTUDIO_NAMES ${FMODSTUDIO_NAMES} fmod fmod_vc)
-FIND_LIBRARY(FMODSTUDIO_LIBRARY
- NAMES ${FMODSTUDIO_NAMES}
- PATH_SUFFIXES fmod
- )
-
-IF (FMODSTUDIO_SDK_DIR OR WINDOWS)
- if(WINDOWS)
- set(FMODSTUDIO_SDK_DIR "$ENV{PROGRAMFILES}/FMOD SoundSystem/FMOD Programmers API Windows" CACHE PATH "Path to FMODSTUDIO")
- STRING(REGEX REPLACE "\\\\" "/" FMODSTUDIO_SDK_DIR ${FMODSTUDIO_SDK_DIR})
- endif(WINDOWS)
- find_library(FMODSTUDIO_LIBRARY
- fmod_vc fmodL_vc
- PATHS
- ${FMODSTUDIO_SDK_DIR}/api/lib
- ${FMODSTUDIO_SDK_DIR}/api
- ${FMODSTUDIO_SDK_DIR}
- )
- find_path(FMODSTUDIO_INCLUDE_DIR fmod.h
- ${FMODSTUDIO_SDK_DIR}/api/inc
- ${FMODSTUDIO_SDK_DIR}/api
- ${FMODSTUDIO_SDK_DIR}
- )
- find_path(FMODSTUDIO_INCLUDE_DIR fmod.h
- ${FMODSTUDIO_SDK_DIR}/api/inc
- ${FMODSTUDIO_SDK_DIR}/api
- ${FMODSTUDIO_SDK_DIR}
- )
- IF (FMODSTUDIO_LIBRARY AND FMODSTUDIO_INCLUDE_DIR)
- SET(FMODSTUDIO_LIBRARIES ${FMODSTUDIO_LIBRARY})
- SET(FMODSTUDIO_FOUND "YES")
- endif (FMODSTUDIO_LIBRARY AND FMODSTUDIO_INCLUDE_DIR)
-ENDIF (FMODSTUDIO_SDK_DIR OR WINDOWS)
-
-IF (FMODSTUDIO_FOUND)
- IF (NOT FMODSTUDIO_FIND_QUIETLY)
- MESSAGE(STATUS "Found FMODSTUDIO: ${FMODSTUDIO_LIBRARIES}")
- ENDIF (NOT FMODSTUDIO_FIND_QUIETLY)
-ELSE (FMODSTUDIO_FOUND)
- IF (FMODSTUDIO_FIND_REQUIRED)
- MESSAGE(FATAL_ERROR "Could not find FMODSTUDIO library")
- ENDIF (FMODSTUDIO_FIND_REQUIRED)
-ENDIF (FMODSTUDIO_FOUND)
-
-# Deprecated declarations.
-SET (NATIVE_FMODSTUDIO_INCLUDE_PATH ${FMODSTUDIO_INCLUDE_DIR} )
-GET_FILENAME_COMPONENT (NATIVE_FMODSTUDIO_LIB_PATH ${FMODSTUDIO_LIBRARY} PATH)
-
-MARK_AS_ADVANCED(
- FMODSTUDIO_LIBRARY
- FMODSTUDIO_INCLUDE_DIR
- )
diff --git a/indra/cmake/FindGLOD.cmake b/indra/cmake/FindGLOD.cmake
deleted file mode 100644
index 010a0c5aa4..0000000000
--- a/indra/cmake/FindGLOD.cmake
+++ /dev/null
@@ -1,36 +0,0 @@
-# -*- cmake -*-
-
-# - Find GLOD
-# This module defines
-# GLOD_INCLUDE_DIR, where to find glod.h, etc.
-# GLOD_LIBRARIES, the library needed to use GLOD.
-# GLOD_FOUND, If false, do not try to use GLOD.
-
-# LL coded the #include with a glod path in llfloatermodelpreview.cpp
-find_path(GLOD_INCLUDE_DIR glod/glod.h)
-
-set(GLOD_NAMES ${GLOD_NAMES} glod)
-find_library(GLOD_LIBRARIES
- NAMES ${GLOD_NAMES}
- )
-
-if (GLOD_LIBRARIES AND GLOD_INCLUDE_DIR)
- set(GLOD_FOUND "YES")
-else (GLOD_LIBRARIES AND GLOD_INCLUDE_DIR)
- set(GLOD_FOUND "NO")
-endif (GLOD_LIBRARIES AND GLOD_INCLUDE_DIR)
-
-if (GLOD_FOUND)
- if (NOT GLOD_FIND_QUIETLY)
- message(STATUS "Found GLOD: Library in '${GLOD_LIBRARY}' and header in '${GLOD_INCLUDE_DIR}' ")
- endif (NOT GLOD_FIND_QUIETLY)
-else (GLOD_FOUND)
- if (GLOD_FIND_REQUIRED)
- message(FATAL_ERROR " * * * * *\nCould not find GLOD library!\n* * * * *")
- endif (GLOD_FIND_REQUIRED)
-endif (GLOD_FOUND)
-
-mark_as_advanced(
- GLOD_LIBRARIES
- GLOD_INCLUDE_DIR
- )
diff --git a/indra/cmake/FindHACD.cmake b/indra/cmake/FindHACD.cmake
deleted file mode 100644
index 8b466cb49f..0000000000
--- a/indra/cmake/FindHACD.cmake
+++ /dev/null
@@ -1,41 +0,0 @@
-# -*- cmake -*-
-
-# - Find HUNSPELL
-# This module defines
-# HACD_INCLUDE_DIR, where to find hacdHACD.h, etc.
-# HACD_LIBRARY, the library needed to use HACD.
-# HACD_FOUND, If false, do not try to use HACD.
-
-find_path(HACD_INCLUDE_DIR llconvexdecomposition.h
- PATH_SUFFIXES hacd
- )
-
-set(HACD_NAMES ${HACD_NAMES} hacd)
-find_library(HACD_LIBRARY
- NAMES ${HACD_NAMES}
- )
-
-find_library( LLCONVEXDECOMP_LIBRARY NAMES nd_hacdConvexDecomposition )
-
-if (HACD_LIBRARY AND HACD_INCLUDE_DIR AND LLCONVEXDECOMP_LIBRARY)
- set(HACD_FOUND "YES")
-else (HACD_LIBRARY AND HACD_INCLUDE_DIR AND LLCONVEXDECOMP_LIBRARY)
- set(HACD_FOUND "NO")
-endif (HACD_LIBRARY AND HACD_INCLUDE_DIR AND LLCONVEXDECOMP_LIBRARY)
-
-
-if (HACD_FOUND)
- if (NOT HACD_FIND_QUIETLY)
- message(STATUS "Found HACD: Library in '${HACD_LIBRARY}' and header in '${HACD_INCLUDE_DIR}' ")
- endif (NOT HACD_FIND_QUIETLY)
-else (HACD_FOUND)
- if (HACD_FIND_REQUIRED)
- message(FATAL_ERROR " * * *\nCould not find HACD library! * * *")
- endif (HACD_FIND_REQUIRED)
-endif (HACD_FOUND)
-
-mark_as_advanced(
- HACD_LIBRARY
- HACD_DECOMP_LIB
- HACD_INCLUDE_DIR
- )
diff --git a/indra/cmake/FindKDU.cmake b/indra/cmake/FindKDU.cmake
deleted file mode 100644
index 3944ad8308..0000000000
--- a/indra/cmake/FindKDU.cmake
+++ /dev/null
@@ -1,40 +0,0 @@
-# -*- cmake -*-
-
-# - Find KDU
-# This module defines
-# KDU_INCLUDE_DIR, where to find kdu.h, etc.
-# KDU_LIBRARIES, the library needed to use KDU.
-# KDU_FOUND, If false, do not try to use KDU.
-
-# LL coded the #include with a glod path in llfloatermodelpreview.cpp
-find_path(KDU_INCLUDE_DIR kdu_image.h
- PATH_SUFFIXES kdu
- )
-
-set(KDU_NAMES ${KDU_NAMES} kdu)
-find_library(KDU_LIBRARIES
- NAMES ${KDU_NAMES}
- )
-
-if (KDU_LIBRARIES AND KDU_INCLUDE_DIR)
- set(KDU_FOUND "YES")
- set(KDU_INCLUDE_DIRS ${KDU_INCLUDE_DIR})
- set(KDU_LIBRARY ${KDU_LIBRARIES})
-else (KDU_LIBRARIES AND KDU_INCLUDE_DIR)
- set(KDU_FOUND "NO")
-endif (KDU_LIBRARIES AND KDU_INCLUDE_DIR)
-
-if (KDU_FOUND)
- if (NOT KDU_FIND_QUIETLY)
- message(STATUS "Found KDU: Library in '${KDU_LIBRARY}' and header in '${KDU_INCLUDE_DIR}' ")
- endif (NOT KDU_FIND_QUIETLY)
-else (KDU_FOUND)
- if (KDU_FIND_REQUIRED)
- message(FATAL_ERROR " * * * * *\nCould not find KDU library!\n* * * * *")
- endif (KDU_FIND_REQUIRED)
-endif (KDU_FOUND)
-
-mark_as_advanced(
- KDU_LIBRARIES
- KDU_INCLUDE_DIR
- )
diff --git a/indra/cmake/FindLLQtWebkit.cmake b/indra/cmake/FindLLQtWebkit.cmake
deleted file mode 100644
index 2f666d3bf0..0000000000
--- a/indra/cmake/FindLLQtWebkit.cmake
+++ /dev/null
@@ -1,62 +0,0 @@
-# -*- cmake -*-
-
-# - Find llqtwebkit
-# Find the llqtwebkit includes and library
-# This module defines
-# LLQTWEBKIT_INCLUDE_DIR, where to find llqtwebkit.h, etc.
-# LLQTWEBKIT_LIBRARY, the llqtwebkit library with full path.
-# LLQTWEBKIT_FOUND, If false, do not try to use llqtwebkit.
-# also defined, but not for general use are
-# LLQTWEBKIT_LIBRARIES, the libraries needed to use llqtwebkit.
-# LLQTWEBKIT_LIBRARY_DIRS, where to find the llqtwebkit library.
-# LLQTWEBKIT_DEFINITIONS - You should add_definitions(${LLQTWEBKIT_DEFINITIONS})
-# before compiling code that includes llqtwebkit library files.
-
-# Try to use pkg-config first.
-# This allows to have two different libllqtwebkit packages installed:
-# one for viewer 2.x and one for viewer 1.x.
-include(FindPkgConfig)
-if (PKG_CONFIG_FOUND)
- if (LLQtWebkit_FIND_REQUIRED AND LLQtWebkit_FIND_VERSION)
- set(_PACKAGE_ARGS libllqtwebkit>=${LLQtWebkit_FIND_VERSION} REQUIRED)
- else (LLQtWebkit_FIND_REQUIRED AND LLQtWebkit_FIND_VERSION)
- set(_PACKAGE_ARGS libllqtwebkit)
- endif (LLQtWebkit_FIND_REQUIRED AND LLQtWebkit_FIND_VERSION)
- if (NOT "${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}" VERSION_LESS "2.8.2")
- # As virtually nobody will have a pkg-config file for this, do this check always quiet.
- # Unfortunately cmake 2.8.2 or higher is required for pkg_check_modules to have a 'QUIET'.
- set(_PACKAGE_ARGS ${_PACKAGE_ARGS} QUIET)
- endif ()
- pkg_check_modules(LLQTWEBKIT ${_PACKAGE_ARGS})
-endif (PKG_CONFIG_FOUND)
-set(LLQTWEBKIT_DEFINITIONS ${LLQTWEBKIT_CFLAGS_OTHER})
-
-find_path(LLQTWEBKIT_INCLUDE_DIR llqtwebkit.h NO_SYSTEM_ENVIRONMENT_PATH HINTS ${LLQTWEBKIT_INCLUDE_DIRS})
-
-find_library(LLQTWEBKIT_LIBRARY NAMES llqtwebkit NO_SYSTEM_ENVIRONMENT_PATH HINTS ${LLQTWEBKIT_LIBRARY_DIRS})
-
-if (NOT PKG_CONFIG_FOUND OR NOT LLQTWEBKIT_FOUND) # If pkg-config couldn't find it, pretend we don't have pkg-config.
- set(LLQTWEBKIT_LIBRARIES llqtwebkit)
- get_filename_component(LLQTWEBKIT_LIBRARY_DIRS ${LLQTWEBKIT_LIBRARY} PATH)
-endif (NOT PKG_CONFIG_FOUND OR NOT LLQTWEBKIT_FOUND)
-
-# Handle the QUIETLY and REQUIRED arguments and set LLQTWEBKIT_FOUND
-# to TRUE if all listed variables are TRUE.
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(
- LLQTWEBKIT
- DEFAULT_MSG
- LLQTWEBKIT_LIBRARY
- LLQTWEBKIT_INCLUDE_DIR
- LLQTWEBKIT_LIBRARIES
- LLQTWEBKIT_LIBRARY_DIRS
- )
-
-mark_as_advanced(
- LLQTWEBKIT_LIBRARY
- LLQTWEBKIT_INCLUDE_DIR
- LLQTWEBKIT_LIBRARIES
- LLQTWEBKIT_LIBRARY_DIRS
- LLQTWEBKIT_DEFINITIONS
- )
-
diff --git a/indra/cmake/FindLibnotify.cmake b/indra/cmake/FindLibnotify.cmake
deleted file mode 100644
index 395dac804e..0000000000
--- a/indra/cmake/FindLibnotify.cmake
+++ /dev/null
@@ -1,46 +0,0 @@
-# -*- cmake -*-
-
-# - Find libnotify
-# Find the libnotify includes and library
-# This module defines
-# LIBNOTIFY_INCLUDE_DIR, where to find notify.h, etc.
-# LIBNOTIFY_LIBRARIES, the libraries needed to use libnotify.
-# LIBNOTIFY_FOUND, If false, do not try to use libnotify.
-# also defined, but not for general use are
-# LIBNOTIFY_LIBRARY, where to find the libnotify library.
-
-FIND_PATH(LIBNOTIFY_INCLUDE_DIR notify.h
- PATH_SUFFIXES libnotify
- )
-
-SET(LIBNOTIFY_NAMES ${LIBNOTIFY_NAMES} notify)
-FIND_LIBRARY(LIBNOTIFY_LIBRARY
- NAMES ${LIBNOTIFY_NAMES}
- )
-
-IF (LIBNOTIFY_LIBRARY AND LIBNOTIFY_INCLUDE_DIR)
- SET(LIBNOTIFY_LIBRARIES ${LIBNOTIFY_LIBRARY})
- SET(LIBNOTIFY_FOUND "YES")
-ELSE (LIBNOTIFY_LIBRARY AND LIBNOTIFY_INCLUDE_DIR)
- SET(LIBNOTIFY_FOUND "NO")
-ENDIF (LIBNOTIFY_LIBRARY AND LIBNOTIFY_INCLUDE_DIR)
-
-
-IF (LIBNOTIFY_FOUND)
- IF (NOT LIBNOTIFY_FIND_QUIETLY)
- MESSAGE(STATUS "Found libnotify: '${LIBNOTIFY_LIBRARIES}' and header in '${LIBNOTIFY_INCLUDE_DIR}'")
- ENDIF (NOT LIBNOTIFY_FIND_QUIETLY)
-ELSE (LIBNOTIFY_FOUND)
- IF (LIBNOTIFY_FIND_REQUIRED)
- MESSAGE(FATAL_ERROR "Could not find libnotify library")
- ENDIF (LIBNOTIFY_FIND_REQUIRED)
-ENDIF (LIBNOTIFY_FOUND)
-
-# Deprecated declarations.
-SET (NATIVE_LIBNOTIFY_INCLUDE_PATH ${LIBNOTIFY_INCLUDE_DIR} )
-GET_FILENAME_COMPONENT (NATIVE_LIBNOTIFY_LIB_PATH ${LIBNOTIFY_LIBRARY} PATH)
-
-MARK_AS_ADVANCED(
- LIBNOTIFY_LIBRARY
- LIBNOTIFY_INCLUDE_DIR
- )
diff --git a/indra/cmake/FindNGHTTP2.cmake b/indra/cmake/FindNGHTTP2.cmake
deleted file mode 100644
index c11d88814f..0000000000
--- a/indra/cmake/FindNGHTTP2.cmake
+++ /dev/null
@@ -1,35 +0,0 @@
-# -*- cmake -*-
-
-# - Find NGHTTP2
-# This module defines
-# NGHTTP2_INCLUDE_DIR, where to find glod.h, etc.
-# NGHTTP2_LIBRARIES, the library needed to use NGHTTP2.
-# NGHTTP2_FOUND, If false, do not try to use NGHTTP2.
-
-find_path(NGHTTP2_INCLUDE_DIR nghttp2/nghttp2.h)
-
-set(NGHTTP2_NAMES ${NGHTTP2_NAMES} nghttp2)
-find_library(NGHTTP2_LIBRARIES
- NAMES ${NGHTTP2_NAMES}
- )
-
-if (NGHTTP2_LIBRARIES AND NGHTTP2_INCLUDE_DIR)
- set(NGHTTP2_FOUND "YES")
-else (NGHTTP2_LIBRARIES AND NGHTTP2_INCLUDE_DIR)
- set(NGHTTP2_FOUND "NO")
-endif (NGHTTP2_LIBRARIES AND NGHTTP2_INCLUDE_DIR)
-
-if (NGHTTP2_FOUND)
- if (NOT NGHTTP2_FIND_QUIETLY)
- message(STATUS "Found NGHTTP2: Library in '${NGHTTP2_LIBRARY}' and header in '${NGHTTP2_INCLUDE_DIR}' ")
- endif (NOT NGHTTP2_FIND_QUIETLY)
-else (NGHTTP2_FOUND)
- if (NGHTTP2_FIND_REQUIRED)
- message(FATAL_ERROR " * * * * *\nCould not find NGHTTP2 library!\n* * * * *")
- endif (NGHTTP2_FIND_REQUIRED)
-endif (NGHTTP2_FOUND)
-
-mark_as_advanced(
- NGHTTP2_LIBRARIES
- NGHTTP2_INCLUDE_DIR
- )
diff --git a/indra/cmake/Growl.cmake b/indra/cmake/Growl.cmake
index bdc1ddca14..dc77e1c51e 100644
--- a/indra/cmake/Growl.cmake
+++ b/indra/cmake/Growl.cmake
@@ -12,12 +12,10 @@ use_prebuilt_binary(gntp-growl)
if (WINDOWS)
target_link_libraries( fs::growl INTERFACE growl.lib growl++.lib)
elseif (DARWIN)
- target_link_libraries( fs:growl INTERFACE libgrowl.dylib libgrowl++.dylib)
+ target_link_libraries( fs::growl INTERFACE libgrowl.dylib libgrowl++.dylib)
endif (WINDOWS)
target_include_directories( fs::growl SYSTEM INTERFACE
${AUTOBUILD_INSTALL_DIR}/include/Growl
)
endif (DARWIN OR WINDOWS) # no need to do these things on Linux
-
-add_compile_definitions(HAS_GROWL)
diff --git a/indra/cmake/MediaPluginBase.cmake b/indra/cmake/MediaPluginBase.cmake
index 7a7f64c0b3..f24b2a0fa2 100644
--- a/indra/cmake/MediaPluginBase.cmake
+++ b/indra/cmake/MediaPluginBase.cmake
@@ -1,13 +1,9 @@
# -*- cmake -*-
-set(CMAKE_VERBOSE_MAKEFILE ON) # remove this once things work
# Try to find pulse header, if we got them we can use the linux volume catcher
if (LINUX)
- include(GLIB)
- include_directories( ${GLIB_INCLUDE_DIRS} )
-
- foreach( PULSE_FILE pulse/introspect.h pulse/context.h pulse/subscribe.h pulse/glib-mainloop.h )
+ foreach( PULSE_FILE pulse/introspect.h pulse/context.h pulse/subscribe.h )
find_path( PULSE_FILE_${PULSE_FILE}_FOUND ${PULSE_FILE} NO_CACHE)
if( NOT PULSE_FILE_${PULSE_FILE}_FOUND )
message( "Looking for ${PULSE_FILE} ... not found")
diff --git a/indra/cmake/Tracy.cmake b/indra/cmake/Tracy.cmake
index 0bf3bd85ff..07ba34f30c 100644
--- a/indra/cmake/Tracy.cmake
+++ b/indra/cmake/Tracy.cmake
@@ -7,7 +7,6 @@ add_library( ll::tracy INTERFACE IMPORTED )
set(USE_TRACY OFF CACHE BOOL "Use Tracy profiler.")
if (USE_TRACY)
- use_system_binary(tracy)
use_prebuilt_binary(tracy)
target_include_directories( ll::tracy SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include/tracy)
diff --git a/indra/llfilesystem/lldiskcache.cpp b/indra/llfilesystem/lldiskcache.cpp
index c3dbb18e10..9850cd1294 100644
--- a/indra/llfilesystem/lldiskcache.cpp
+++ b/indra/llfilesystem/lldiskcache.cpp
@@ -115,8 +115,12 @@ void LLDiskCache::purge()
#endif
if (boost::filesystem::is_directory(cache_path, ec) && !ec.failed())
{
- boost::filesystem::directory_iterator iter(cache_path, ec);
- while (iter != boost::filesystem::directory_iterator() && !ec.failed())
+ // Optimize asset simple disk cache
+ //boost::filesystem::directory_iterator iter(cache_path, ec);
+ //while (iter != boost::filesystem::directory_iterator() && !ec.failed())
+ boost::filesystem::recursive_directory_iterator iter(cache_path, ec);
+ while (iter != boost::filesystem::recursive_directory_iterator() && !ec.failed())
+ //
{
if (boost::filesystem::is_regular_file(*iter, ec) && !ec.failed())
{
@@ -470,8 +474,12 @@ void LLDiskCache::clearCache()
#endif
if (boost::filesystem::is_directory(cache_path, ec) && !ec.failed())
{
- boost::filesystem::directory_iterator iter(cache_path, ec);
- while (iter != boost::filesystem::directory_iterator() && !ec.failed())
+ // Optimize asset simple disk cache
+ //boost::filesystem::directory_iterator iter(cache_path, ec);
+ //while (iter != boost::filesystem::directory_iterator() && !ec.failed())
+ boost::filesystem::recursive_directory_iterator iter(cache_path, ec);
+ while (iter != boost::filesystem::recursive_directory_iterator() && !ec.failed())
+ //
{
if (boost::filesystem::is_regular_file(*iter, ec) && !ec.failed())
{
@@ -527,7 +535,7 @@ void LLDiskCache::removeOldVFSFiles()
}
}
-uintmax_t LLDiskCache::dirFileSize(const std::string dir)
+uintmax_t LLDiskCache::dirFileSize(const std::string& dir)
{
uintmax_t total_file_size = 0;
@@ -548,8 +556,12 @@ uintmax_t LLDiskCache::dirFileSize(const std::string dir)
#endif
if (boost::filesystem::is_directory(dir_path, ec) && !ec.failed())
{
- boost::filesystem::directory_iterator iter(dir_path, ec);
- while (iter != boost::filesystem::directory_iterator() && !ec.failed())
+ // Optimize asset simple disk cache
+ //boost::filesystem::directory_iterator iter(dir_path, ec);
+ //while (iter != boost::filesystem::directory_iterator() && !ec.failed())
+ boost::filesystem::recursive_directory_iterator iter(dir_path, ec);
+ while (iter != boost::filesystem::recursive_directory_iterator() && !ec.failed())
+ //
{
if (boost::filesystem::is_regular_file(*iter, ec) && !ec.failed())
{
diff --git a/indra/llfilesystem/lldiskcache.h b/indra/llfilesystem/lldiskcache.h
index f3b5c36e3f..4b51b66e1f 100644
--- a/indra/llfilesystem/lldiskcache.h
+++ b/indra/llfilesystem/lldiskcache.h
@@ -164,7 +164,7 @@ class LLDiskCache :
* directory. Primarily used here to determine the directory size
* before and after the cache purge
*/
- uintmax_t dirFileSize(const std::string dir);
+ uintmax_t dirFileSize(const std::string& dir);
/**
* Utility function to convert an LLAssetType enum into a
diff --git a/indra/llrender/llimagegl.cpp b/indra/llrender/llimagegl.cpp
index 6793cbde58..4daf598926 100644
--- a/indra/llrender/llimagegl.cpp
+++ b/indra/llrender/llimagegl.cpp
@@ -912,7 +912,7 @@ BOOL LLImageGL::setImage(const U8* data_in, BOOL data_hasmips /* = FALSE */, S32
prev_mip_data = nullptr;
cur_mip_data = nullptr;
//
-//
+
mGLTextureCreated = false;
return FALSE;
}
diff --git a/indra/media_plugins/cef/CMakeLists.txt b/indra/media_plugins/cef/CMakeLists.txt
index 53cb2d4d1d..5c0029bc5d 100644
--- a/indra/media_plugins/cef/CMakeLists.txt
+++ b/indra/media_plugins/cef/CMakeLists.txt
@@ -31,8 +31,6 @@ set(media_plugin_cef_HEADER_FILES
volume_catcher.h
)
-if (NOT DISABLE_VOLUME_CATCHER) # disable volume catcher in cef with -DDISABLE_VOLUME_CATCHER=TRUE
-
add_compile_definitions(LL_VOLUME_CATCHER)
# Select which VolumeCatcher implementation to use
@@ -54,8 +52,6 @@ elseif (WINDOWS)
list(APPEND media_plugin_cef_SOURCE_FILES windows_volume_catcher.cpp)
endif (LINUX)
-endif (NOT DISABLE_VOLUME_CATCHER)
-
list(APPEND media_plugin_cef_SOURCE_FILES ${media_plugin_cef_HEADER_FILES})
add_library(media_plugin_cef
diff --git a/indra/media_plugins/cef/linux_volume_catcher.cpp b/indra/media_plugins/cef/linux_volume_catcher.cpp
index fdea6fb15f..43773bb952 100755
--- a/indra/media_plugins/cef/linux_volume_catcher.cpp
+++ b/indra/media_plugins/cef/linux_volume_catcher.cpp
@@ -41,13 +41,11 @@
extern "C" {
-#include
-#include
-
#include
#include
#include
-#include // There's no special reason why we want the *glib* PA mainloop, but the generic polling implementation seems broken.
+
+#include
#include "apr_pools.h"
#include "apr_dso.h"
@@ -62,7 +60,6 @@ extern "C" {
#define LL_PA_SYM(REQUIRED, PASYM, RTN, ...) RTN (*ll##PASYM)(__VA_ARGS__) = NULL
#include "linux_volume_catcher_pa_syms.inc"
-#include "linux_volume_catcher_paglib_syms.inc"
#undef LL_PA_SYM
static bool sSymsGrabbed = false;
@@ -94,7 +91,6 @@ bool grab_pa_syms(std::string pulse_dso_name)
INFOMSG("Found DSO: %s", pulse_dso_name.c_str());
#include "linux_volume_catcher_pa_syms.inc"
-#include "linux_volume_catcher_paglib_syms.inc"
if ( sSymPADSOHandle )
{
@@ -141,7 +137,6 @@ void ungrab_pa_syms()
// NULL-out all of the symbols we'd grabbed
#define LL_PA_SYM(REQUIRED, PASYM, RTN, ...) do{ll##PASYM = NULL;}while(0)
#include "linux_volume_catcher_pa_syms.inc"
-#include "linux_volume_catcher_paglib_syms.inc"
#undef LL_PA_SYM
sSymsGrabbed = false;
@@ -178,7 +173,7 @@ public:
std::set mSinkInputIndices;
std::map mSinkInputNumChannels;
F32 mDesiredVolume;
- pa_glib_mainloop *mMainloop;
+ pa_mainloop *mMainloop;
pa_context *mPAContext;
bool mConnected;
bool mGotSyms;
@@ -210,18 +205,14 @@ void VolumeCatcherImpl::init()
// bit fragile and (for our purposes) we'd rather simply not function
// than crash
- // we cheat and rely upon libpulse-mainloop-glib.so.0 to pull-in
- // libpulse.so.0 - this isn't a great assumption, and the two DSOs should
- // probably be loaded separately. Our Linux DSO framework needs refactoring,
- // we do this sort of thing a lot with practically identical logic...
- mGotSyms = loadsyms("libpulse-mainloop-glib.so.0");
+ mGotSyms = loadsyms("libpulse.so.0");
if (!mGotSyms) return;
- mMainloop = llpa_glib_mainloop_new(g_main_context_default());
+ mMainloop = llpa_mainloop_new();
if (mMainloop)
{
- pa_mainloop_api *api = llpa_glib_mainloop_get_api(mMainloop);
+ pa_mainloop_api *api = llpa_mainloop_get_api(mMainloop);
if (api)
{
@@ -274,7 +265,7 @@ void VolumeCatcherImpl::cleanup()
if (mGotSyms && mMainloop)
{
- llpa_glib_mainloop_free(mMainloop);
+ llpa_mainloop_free(mMainloop);
}
mMainloop = NULL;
}
@@ -295,8 +286,7 @@ void VolumeCatcherImpl::setVolume(F32 volume)
void VolumeCatcherImpl::pump()
{
- gboolean may_block = FALSE;
- g_main_context_iteration(g_main_context_default(), may_block);
+ return;
}
void VolumeCatcherImpl::connected_okay()
diff --git a/indra/media_plugins/cef/linux_volume_catcher_pa_syms.inc b/indra/media_plugins/cef/linux_volume_catcher_pa_syms.inc
index d806b48428..2c9f760fba 100755
--- a/indra/media_plugins/cef/linux_volume_catcher_pa_syms.inc
+++ b/indra/media_plugins/cef/linux_volume_catcher_pa_syms.inc
@@ -18,4 +18,8 @@ LL_PA_SYM(true, pa_proplist_new, pa_proplist*, void);
LL_PA_SYM(true, pa_proplist_sets, int, pa_proplist *p, const char *key, const char *value);
LL_PA_SYM(true, pa_sw_volume_from_linear, pa_volume_t, double v);
+LL_PA_SYM(true, pa_mainloop_free, void, pa_mainloop* m);
+LL_PA_SYM(true, pa_mainloop_get_api, pa_mainloop_api*, pa_mainloop* m);
+LL_PA_SYM(true, pa_mainloop_new, pa_mainloop*, void);
+
// optional symbols to grab
diff --git a/indra/media_plugins/cef/linux_volume_catcher_paglib_syms.inc b/indra/media_plugins/cef/linux_volume_catcher_paglib_syms.inc
index abf628c96c..caa7a25b99 100755
--- a/indra/media_plugins/cef/linux_volume_catcher_paglib_syms.inc
+++ b/indra/media_plugins/cef/linux_volume_catcher_paglib_syms.inc
@@ -1,6 +1,9 @@
+// No longer needed
+/*
// required symbols to grab
LL_PA_SYM(true, pa_glib_mainloop_free, void, pa_glib_mainloop* g);
LL_PA_SYM(true, pa_glib_mainloop_get_api, pa_mainloop_api*, pa_glib_mainloop* g);
LL_PA_SYM(true, pa_glib_mainloop_new, pa_glib_mainloop *, GMainContext *c);
// optional symbols to grab
+*/
diff --git a/indra/media_plugins/gstreamer10/llmediaimplgstreamer_syms_raw.inc b/indra/media_plugins/gstreamer10/llmediaimplgstreamer_syms_raw.inc
index da1aa8ec1d..155eeb6809 100644
--- a/indra/media_plugins/gstreamer10/llmediaimplgstreamer_syms_raw.inc
+++ b/indra/media_plugins/gstreamer10/llmediaimplgstreamer_syms_raw.inc
@@ -20,10 +20,10 @@ LL_GST_SYM(true, gst_caps_from_string, GstCaps *, const gchar *string)
LL_GST_SYM(true, gst_caps_get_structure, GstStructure *, const GstCaps *caps, guint index)
LL_GST_SYM(true, gst_element_register, gboolean, GstPlugin *plugin, const gchar *name, guint rank, GType type)
LL_GST_SYM(true, gst_structure_get_int, gboolean, const GstStructure *structure, const gchar *fieldname, gint *value)
-LL_GST_SYM(true, gst_structure_get_value, G_CONST_RETURN GValue *, const GstStructure *structure, const gchar *fieldname)
+LL_GST_SYM(true, gst_structure_get_value, const GValue *, const GstStructure *structure, const gchar *fieldname)
LL_GST_SYM(true, gst_value_get_fraction_numerator, gint, const GValue *value)
LL_GST_SYM(true, gst_value_get_fraction_denominator, gint, const GValue *value)
-LL_GST_SYM(true, gst_structure_get_name, G_CONST_RETURN gchar *, const GstStructure *structure)
+LL_GST_SYM(true, gst_structure_get_name, const gchar *, const GstStructure *structure)
LL_GST_SYM(true, gst_element_seek, bool, GstElement *, gdouble, GstFormat, GstSeekFlags, GstSeekType, gint64, GstSeekType, gint64)
LL_GST_SYM(false, gst_registry_fork_set_enabled, void, gboolean enabled)
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index 524cb6b110..d0ea02f347 100644
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -2184,7 +2184,7 @@ if (WINDOWS)
${CMAKE_CURRENT_SOURCE_DIR}/featuretable.txt
${viewer_APPSETTINGS_FILES}
${ARCH_PREBUILT_DIRS_RELEASE}/growl.dll
- ${SHARED_LIB_STAGING_DIR}/Release/glod.dll # Restore GLOD build dependencies
+ ${SHARED_LIB_STAGING_DIR}/glod.dll # Restore GLOD build dependencies
SLPlugin
media_plugin_cef
media_plugin_libvlc
@@ -2194,7 +2194,7 @@ if (WINDOWS)
# Only copy OpenJPEG dll if needed
if (NOT USE_KDU)
list(APPEND COPY_INPUT_DEPENDENCIES
- ${SHARED_LIB_STAGING_DIR}/Release/openjp2.dll
+ ${SHARED_LIB_STAGING_DIR}/openjp2.dll
)
endif (NOT USE_KDU)
#
@@ -2396,27 +2396,24 @@ target_link_libraries(${VIEWER_BINARY_NAME}
ll::bugsplat
ll::tracy
fs::glod # restore GLOD dependencies
- # fs::growl # Growl support added further down for win/mac only
+ fs::discord # Discord support
)
if( TARGET ll::intel_memops )
target_link_libraries(${VIEWER_BINARY_NAME} ll::intel_memops )
endif()
-target_link_libraries(${VIEWER_BINARY_NAME} ${DISCORD_LIBRARY} )
-
if (USE_BUGSPLAT)
target_link_libraries(${VIEWER_BINARY_NAME}
${BUGSPLAT_LIBRARIES}
)
endif (USE_BUGSPLAT)
-if (WINDOWS)
- target_link_libraries(${VIEWER_BINARY_NAME}
- fs::growl # Growl support
- ${GROWL_LIBRARY}
- )
-endif (WINDOWS)
+# Growl support
+if (WINDOWS OR DARWIN)
+ target_link_libraries(${VIEWER_BINARY_NAME} fs::growl)
+endif (WINDOWS OR DARWIN)
+#
if( TARGET ll::nvapi )
target_link_libraries(${VIEWER_BINARY_NAME} ll::nvapi )
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index 325bf01021..2e16855a5f 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -26264,5 +26264,16 @@ Change of this parameter will affect the layout of buttons in notification toast
Value
0
+ FSAnimationPreviewExpanded
+
diff --git a/indra/newview/fsfloatersearch.h b/indra/newview/fsfloatersearch.h
index 35158980d0..31d31d2e27 100644
--- a/indra/newview/fsfloatersearch.h
+++ b/indra/newview/fsfloatersearch.h
@@ -110,7 +110,6 @@ private:
LLSD mResultsContent;
LLUUID mQueryID;
- FSFloaterSearch* mParent;
LLSearchComboBox* mSearchComboBox;
FSScrollListCtrl* mSearchResults;
};
@@ -145,7 +144,6 @@ private:
LLSD mResultsContent;
LLUUID mQueryID;
- FSFloaterSearch* mParent;
LLSearchComboBox* mSearchComboBox;
LLScrollListCtrl* mSearchResults;
};
@@ -180,7 +178,6 @@ private:
LLSD mResultsContent;
LLUUID mQueryID;
- FSFloaterSearch* mParent;
LLSearchComboBox* mSearchComboBox;
LLScrollListCtrl* mSearchResults;
LLComboBox* mPlacesCategory;
@@ -214,7 +211,6 @@ private:
LLSD mResultsContent;
LLUUID mQueryID;
- FSFloaterSearch* mParent;
LLLineEditor* mPriceEditor;
LLLineEditor* mAreaEditor;
LLScrollListCtrl* mSearchResults;
@@ -250,7 +246,6 @@ private:
LLSD mResultsContent;
LLUUID mQueryID;
- FSFloaterSearch* mParent;
LLSearchComboBox* mSearchComboBox;
LLScrollListCtrl* mSearchResults;
LLComboBox* mClassifiedsCategory;
@@ -292,7 +287,6 @@ private:
LLSD mResultsContent;
LLUUID mQueryID;
- FSFloaterSearch* mParent;
LLSearchComboBox* mSearchComboBox;
LLScrollListCtrl* mSearchResults;
LLRadioGroup* mEventsMode;
diff --git a/indra/newview/growlnotifierwin.cpp b/indra/newview/growlnotifierwin.cpp
index b6615f6a64..2241457c1a 100644
--- a/indra/newview/growlnotifierwin.cpp
+++ b/indra/newview/growlnotifierwin.cpp
@@ -36,9 +36,7 @@
#include "llviewerprecompiledheaders.h"
#include "growlnotifierwin.h"
-#ifdef HAS_GROWL
#include "growl.h"
-#endif
#include "llviewercontrol.h"
@@ -55,9 +53,7 @@ void __cdecl GrowlLogSink( char const *aMessage, int aLevel )
GrowlNotifierWin::GrowlNotifierWin() :
mApplicationName("")
{
-#ifdef HAS_GROWL
mGrowlImpl = NULL;
-#endif
LL_INFOS("GrowlNotifierWin") << "Windows growl notifier initialized." << LL_ENDL;
#ifdef GROWL_HAS_LOG
@@ -69,20 +65,17 @@ GrowlNotifierWin::GrowlNotifierWin() :
GrowlNotifierWin::~GrowlNotifierWin()
{
LL_INFOS("GrowlNotifierWin") << "Windows growl notifier destroyed." << LL_ENDL;
-#ifdef HAS_GROWL
if (mGrowlImpl)
{
delete mGrowlImpl;
mGrowlImpl = NULL;
}
-#endif
}
void GrowlNotifierWin::registerApplication(const std::string& application, const std::set& notificationTypes)
{
mApplicationName = application;
-#ifdef HAS_GROWL
char **arr = (char**)malloc(sizeof(*arr) * notificationTypes.size());
S32 i = 0;
for (std::set::const_iterator it = notificationTypes.begin(); it != notificationTypes.end(); ++it, ++i)
@@ -99,25 +92,18 @@ void GrowlNotifierWin::registerApplication(const std::string& application, const
free(arr[i]);
}
free(arr);
-#endif
}
void GrowlNotifierWin::showNotification(const std::string& notification_title, const std::string& notification_message,
const std::string& notification_type)
{
-#ifdef HAS_GROWL
if (mGrowlImpl)
{
mGrowlImpl->Notify(notification_type.c_str(), notification_title.c_str(), notification_message.c_str());
}
-#endif
}
bool GrowlNotifierWin::isUsable()
{
-#ifdef HAS_GROWL
return (mGrowlImpl && mGrowlImpl->isConnected());
-#else
- return false;
-#endif
}
diff --git a/indra/newview/growlnotifierwin.h b/indra/newview/growlnotifierwin.h
index 7ea5cb104e..df7ffcc208 100644
--- a/indra/newview/growlnotifierwin.h
+++ b/indra/newview/growlnotifierwin.h
@@ -36,10 +36,7 @@
#define GROWLNOTIFIERWIN_H
#include "growlnotifier.h"
-
-#ifdef HAS_GROWL
#include
-#endif
class GrowlNotifierWin : public GrowlNotifier
{
@@ -53,9 +50,7 @@ public:
private:
std::string mApplicationName;
-#ifdef HAS_GROWL
Growl* mGrowlImpl;
-#endif
};
#endif // GROWLNOTIFIERWIN_H
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index 319799829e..63914bb810 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -263,9 +263,7 @@ using namespace LL;
#include "llcoproceduremanager.h"
#include "llviewereventrecorder.h"
-#if HAS_GROWL
#include "growlmanager.h"
-#endif
#include "fsavatarrenderpersistence.h"
// *FIX: These extern globals should be cleaned up.
@@ -1984,9 +1982,7 @@ bool LLAppViewer::cleanup()
// workaround for DEV-35406 crash on shutdown
LLEventPumps::instance().reset();
-#if HAS_GROWL
- GrowlManager::destroyManager();
-#endif
+ GrowlManager::destroyManager(); // Growl support
//dump scene loading monitor results
if (LLSceneMonitor::instanceExists())
diff --git a/indra/newview/lldrawpoolbump.cpp b/indra/newview/lldrawpoolbump.cpp
index ee1d42b871..7be52850f0 100644
--- a/indra/newview/lldrawpoolbump.cpp
+++ b/indra/newview/lldrawpoolbump.cpp
@@ -81,7 +81,8 @@ static S32 bump_channel = -1;
// Enabled after changing LLViewerTexture::mNeedsCreateTexture to an
// LLAtomicBool; this should work just fine, now. HB
-#define LL_BUMPLIST_MULTITHREADED 1
+// #define LL_BUMPLIST_MULTITHREADED 1 // Enabling this causes issues on some machines
+#define LL_BUMPLIST_MULTITHREADED 0
// static
diff --git a/indra/newview/llfloaterimagepreview.cpp b/indra/newview/llfloaterimagepreview.cpp
index 8717766c18..f5c1790845 100644
--- a/indra/newview/llfloaterimagepreview.cpp
+++ b/indra/newview/llfloaterimagepreview.cpp
@@ -67,12 +67,14 @@
#include "llnotificationsutil.h" // detect and strip empty alpha layers from images on upload
-const S32 PREVIEW_BORDER_WIDTH = 2;
-const S32 PREVIEW_RESIZE_HANDLE_SIZE = S32(RESIZE_HANDLE_WIDTH * OO_SQRT2) + PREVIEW_BORDER_WIDTH;
-const S32 PREVIEW_HPAD = PREVIEW_RESIZE_HANDLE_SIZE;
-const S32 PREVIEW_VPAD = -24 + 35; // yuk, hard coded
-const S32 PREF_BUTTON_HEIGHT = 16 + 7 + 16 + 35;
-const S32 PREVIEW_TEXTURE_HEIGHT = 320;
+// Make preview area position to be not hard-coded
+// const S32 PREVIEW_BORDER_WIDTH = 2;
+// const S32 PREVIEW_RESIZE_HANDLE_SIZE = S32(RESIZE_HANDLE_WIDTH * OO_SQRT2) + PREVIEW_BORDER_WIDTH;
+// const S32 PREVIEW_HPAD = PREVIEW_RESIZE_HANDLE_SIZE;
+// const S32 PREVIEW_VPAD = -24 + 35; // yuk, hard coded
+// const S32 PREF_BUTTON_HEIGHT = 16 + 7 + 16 + 35;
+// const S32 PREVIEW_TEXTURE_HEIGHT = 320;
+//
// detect and strip empty alpha layers from images on upload
const U8 ALPHA_EMPTY_THRESHOLD = 253;
@@ -110,10 +112,13 @@ BOOL LLFloaterImagePreview::postBuild()
}
childSetCommitCallback("clothing_type_combo", onPreviewTypeCommit, this);
- mPreviewRect.set(PREVIEW_HPAD,
- PREVIEW_TEXTURE_HEIGHT + PREVIEW_VPAD,
- getRect().getWidth() - PREVIEW_HPAD,
- PREVIEW_HPAD + PREF_BUTTON_HEIGHT + PREVIEW_HPAD);
+ // Make preview area position to be not hard-coded
+ // mPreviewRect.set(PREVIEW_HPAD,
+ // PREVIEW_TEXTURE_HEIGHT + PREVIEW_VPAD,
+ // getRect().getWidth() - PREVIEW_HPAD,
+ // PREVIEW_HPAD + PREF_BUTTON_HEIGHT + PREVIEW_HPAD);
+ mPreviewRect = getChildView("preview_area")->getRect();
+ //
mPreviewImageRect.set(0.f, 1.f, 1.f, 0.f);
getChildView("bad_image_text")->setVisible(FALSE);
@@ -178,9 +183,14 @@ BOOL LLFloaterImagePreview::postBuild()
// getChild("ok_btn")->setCommitCallback(boost::bind(&LLFloaterNameDesc::onBtnOK, this));
getChild("ok_btn")->setCommitCallback(boost::bind(&LLFloaterImagePreview::onBtnUpload, this));
+ getChild("uploaded_size_text")->setTextArg("[X_RES]", llformat("%d", mRawImagep->getWidth()));
+ getChild("uploaded_size_text")->setTextArg("[Y_RES]", llformat("%d", mRawImagep->getHeight()));
+
if (mRawImagep->getComponents() != 4)
{
- return TRUE;
+ getChild("image_alpha_warning")->setVisible(false);
+ getChild("uploaded_size_text")->setTextArg("[ALPHA]", getString("no_alpha"));
+ return true;
}
U32 imageBytes = mRawImagep->getWidth() * mRawImagep->getHeight() * 4;
@@ -209,6 +219,8 @@ BOOL LLFloaterImagePreview::postBuild()
getChild("image_alpha_warning")->setVisible(false);
mEmptyAlphaCheck->setValue(false);
}
+
+ getChild("uploaded_size_text")->setTextArg("[ALPHA]", getString(mEmptyAlphaCheck->getValue() ? "no_alpha" : "with_alpha"));
//
return TRUE;
}
@@ -216,7 +228,11 @@ BOOL LLFloaterImagePreview::postBuild()
// detect and strip empty alpha layers from images on upload
void LLFloaterImagePreview::emptyAlphaCheckboxCallback()
{
- if (!mEmptyAlphaCheck->getValue())
+ if (mEmptyAlphaCheck->getValue())
+ {
+ getChild("uploaded_size_text")->setTextArg("[ALPHA]", getString("no_alpha"));
+ }
+ else
{
LLNotificationsUtil::add("ImageEmptyAlphaLayer", LLSD(), LLSD(), boost::bind(&LLFloaterImagePreview::imageEmptyAlphaCallback, this, _1, _2));
}
@@ -232,6 +248,7 @@ bool LLFloaterImagePreview::imageEmptyAlphaCallback(const LLSD& notification, co
mEmptyAlphaCheck->setValue(true);
}
+ getChild("uploaded_size_text")->setTextArg("[ALPHA]", getString(option == 0 ? "no_alpha" : "with_alpha"));
return true;
}
@@ -407,24 +424,27 @@ void LLFloaterImagePreview::draw()
// gGL.vertex2i(r.getWidth() - PREVIEW_HPAD, PREVIEW_TEXTURE_HEIGHT + PREVIEW_VPAD);
//}
//gGL.end();
+ //
+
+ // Make preview area position to be not hard-coded
gGL.begin( LLRender::TRIANGLES );
{
gGL.texCoord2f(mPreviewImageRect.mLeft, mPreviewImageRect.mTop);
- gGL.vertex2i(PREVIEW_HPAD, PREVIEW_TEXTURE_HEIGHT + PREVIEW_VPAD);
+ gGL.vertex2i(mPreviewRect.mLeft, mPreviewRect.mTop);
gGL.texCoord2f(mPreviewImageRect.mLeft, mPreviewImageRect.mBottom);
- gGL.vertex2i(PREVIEW_HPAD, PREVIEW_HPAD + PREF_BUTTON_HEIGHT + PREVIEW_HPAD);
+ gGL.vertex2i(mPreviewRect.mLeft, mPreviewRect.mBottom);
gGL.texCoord2f(mPreviewImageRect.mRight, mPreviewImageRect.mBottom);
- gGL.vertex2i(r.getWidth() - PREVIEW_HPAD, PREVIEW_HPAD + PREF_BUTTON_HEIGHT + PREVIEW_HPAD);
+ gGL.vertex2i(mPreviewRect.mRight, mPreviewRect.mBottom);
gGL.texCoord2f(mPreviewImageRect.mLeft, mPreviewImageRect.mTop);
- gGL.vertex2i(PREVIEW_HPAD, PREVIEW_TEXTURE_HEIGHT + PREVIEW_VPAD);
+ gGL.vertex2i(mPreviewRect.mLeft, mPreviewRect.mTop);
gGL.texCoord2f(mPreviewImageRect.mRight, mPreviewImageRect.mBottom);
- gGL.vertex2i(r.getWidth() - PREVIEW_HPAD, PREVIEW_HPAD + PREF_BUTTON_HEIGHT + PREVIEW_HPAD);
+ gGL.vertex2i(mPreviewRect.mRight, mPreviewRect.mBottom);
gGL.texCoord2f(mPreviewImageRect.mRight, mPreviewImageRect.mTop);
- gGL.vertex2i(r.getWidth() - PREVIEW_HPAD, PREVIEW_TEXTURE_HEIGHT + PREVIEW_VPAD);
+ gGL.vertex2i(mPreviewRect.mRight, mPreviewRect.mTop);
}
gGL.end();
- //
+ //
gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
@@ -458,24 +478,27 @@ void LLFloaterImagePreview::draw()
// gGL.vertex2i(r.getWidth() - PREVIEW_HPAD, PREVIEW_TEXTURE_HEIGHT + PREVIEW_VPAD);
//}
//gGL.end();
+ //
+
+ // Make preview area position to be not hard-coded
gGL.begin( LLRender::TRIANGLES );
{
gGL.texCoord2f(0.f, 1.f);
- gGL.vertex2i(PREVIEW_HPAD, PREVIEW_TEXTURE_HEIGHT + PREVIEW_VPAD);
+ gGL.vertex2i(mPreviewRect.mLeft, mPreviewRect.mTop);
gGL.texCoord2f(0.f, 0.f);
- gGL.vertex2i(PREVIEW_HPAD, PREVIEW_HPAD + PREF_BUTTON_HEIGHT + PREVIEW_HPAD);
+ gGL.vertex2i(mPreviewRect.mLeft, mPreviewRect.mBottom);
gGL.texCoord2f(1.f, 0.f);
- gGL.vertex2i(r.getWidth() - PREVIEW_HPAD, PREVIEW_HPAD + PREF_BUTTON_HEIGHT + PREVIEW_HPAD);
+ gGL.vertex2i(mPreviewRect.mRight, mPreviewRect.mBottom);
- gGL.texCoord2f(1.f, 0.f);
- gGL.vertex2i(r.getWidth() - PREVIEW_HPAD, PREVIEW_HPAD + PREF_BUTTON_HEIGHT + PREVIEW_HPAD);
gGL.texCoord2f(0.f, 1.f);
- gGL.vertex2i(PREVIEW_HPAD, PREVIEW_TEXTURE_HEIGHT + PREVIEW_VPAD);
+ gGL.vertex2i(mPreviewRect.mLeft, mPreviewRect.mTop);
+ gGL.texCoord2f(1.f, 0.f);
+ gGL.vertex2i(mPreviewRect.mRight, mPreviewRect.mBottom);
gGL.texCoord2f(1.f, 1.f);
- gGL.vertex2i(r.getWidth() - PREVIEW_HPAD, PREVIEW_TEXTURE_HEIGHT + PREVIEW_VPAD);
+ gGL.vertex2i(mPreviewRect.mRight, mPreviewRect.mTop);
}
gGL.end();
- //
+ //
gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
}
diff --git a/indra/newview/llpreviewanim.cpp b/indra/newview/llpreviewanim.cpp
index cfc7b8aa9b..dbfd9da643 100644
--- a/indra/newview/llpreviewanim.cpp
+++ b/indra/newview/llpreviewanim.cpp
@@ -40,6 +40,8 @@
#include "lluictrlfactory.h"
#include "lldatapacker.h"
+#include "llviewercontrol.h" // Make advanced animation preview optional
+
extern LLAgent gAgent;
//const S32 ADVANCED_VPAD = 3; // Improved animation preview
@@ -47,6 +49,9 @@ LLPreviewAnim::LLPreviewAnim(const LLSD& key)
: LLPreview( key )
{
mCommitCallbackRegistrar.add("PreviewAnim.Play", boost::bind(&LLPreviewAnim::play, this, _2));
+ // Make advanced animation preview optional
+ mCommitCallbackRegistrar.add("PreviewAnim.Expand", boost::bind(&LLPreviewAnim::expand, this, _2));
+ //
}
// virtual
@@ -64,6 +69,15 @@ BOOL LLPreviewAnim::postBuild()
//reshape(rect.getWidth(), rect.getHeight() - pAdvancedStatsTextBox->getRect().getHeight() - ADVANCED_VPAD, FALSE);
//
+ // Make advanced animation preview optional
+ bool expanded = gSavedSettings.getBOOL("FSAnimationPreviewExpanded");
+
+ getChild("advanced_info_panel")->setVisible(!expanded);
+ getChild("btn_expand")->setToggleState(expanded);
+
+ expand(LLSD());
+ //
+
return LLPreview::postBuild();
}
@@ -253,3 +267,37 @@ void LLPreviewAnim::onClose(bool app_quitting)
// }
//}
//
+
+// Make advanced animation preview optional
+void LLPreviewAnim::expand(const LLSD& param)
+{
+ LLView* basic_info_panel = getChild("basic_info_panel");
+ LLView* advanced_info_panel = getChild("advanced_info_panel");
+
+ // I don't get why we can't use getLocalRect().mTop or something similar to get the .top from the XML -Zi
+ S32 height = getRect().getHeight() - basic_info_panel->getRect().mTop;
+ S32 basic_info_height = basic_info_panel->getRect().getHeight();
+ S32 advanced_info_height = advanced_info_panel->getRect().getHeight();
+
+ bool was_expanded = advanced_info_panel->getVisible();
+ advanced_info_panel->setVisible(!was_expanded);
+
+ height += basic_info_height;
+ if (!was_expanded)
+ {
+ height += advanced_info_height;
+ }
+
+ LLRect rect = getRect();
+
+ rect.setLeftTopAndSize(rect.mLeft, rect.mTop, rect.getWidth(), height);
+ reshape(rect.getWidth(), rect.getHeight(), false);
+
+ setRect(rect);
+
+ if(getHost())
+ {
+ getHost()->growToFit(rect.getWidth(), height);
+ }
+}
+//
diff --git a/indra/newview/llpreviewanim.h b/indra/newview/llpreviewanim.h
index 8f604f274a..a3b29d5b00 100644
--- a/indra/newview/llpreviewanim.h
+++ b/indra/newview/llpreviewanim.h
@@ -50,6 +50,8 @@ public:
protected:
+ void expand(const LLSD& param); // Make advanced animation preview optional
+
LLUUID mItemID; // Not an item id, but a playing asset id
bool mDidStart;
// Improved animation preview
diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp
index 927b5779b6..39e896f87c 100644
--- a/indra/newview/llstartup.cpp
+++ b/indra/newview/llstartup.cpp
@@ -226,9 +226,7 @@
//#include "llfloaterimsession.h"
#include "fsfloaterim.h"
// [FS communication UI]
-#if HAS_GROWL
#include "growlmanager.h"
-#endif
#include "fsassetblacklist.h"
#include "fsavatarrenderpersistence.h"
@@ -665,10 +663,8 @@ bool idle_startup()
//
std::string lastGPU = gSavedSettings.getString("LastGPUString");
std::string thisGPU = LLFeatureManager::getInstance()->getGPUString();
-
-#if HAS_GROWL
- GrowlManager::initiateManager();
-#endif
+
+ GrowlManager::initiateManager(); // Growl support
// Store current font and skin for system info (FIRE-6806)
gSavedSettings.setString("FSInternalFontSettingsFile", gSavedSettings.getString("FSFontSettingsFile"));
diff --git a/indra/newview/skins/default/xui/da/floater_preview_animation.xml b/indra/newview/skins/default/xui/da/floater_preview_animation.xml
index 436843decc..076e4efe82 100644
--- a/indra/newview/skins/default/xui/da/floater_preview_animation.xml
+++ b/indra/newview/skins/default/xui/da/floater_preview_animation.xml
@@ -3,9 +3,11 @@
Animation: [NAME]
-
- Beskrivelse:
-
-
-
+
+
+ Beskrivelse:
+
+
+
+
diff --git a/indra/newview/skins/default/xui/de/floater_image_preview.xml b/indra/newview/skins/default/xui/de/floater_image_preview.xml
index b98f15828f..5cc06b6465 100644
--- a/indra/newview/skins/default/xui/de/floater_image_preview.xml
+++ b/indra/newview/skins/default/xui/de/floater_image_preview.xml
@@ -1,5 +1,11 @@
+
+ mit Alpha
+
+
+ ohne Alpha
+
Name:
@@ -29,8 +35,11 @@
Speichern Sie das Bild als 24 Bit Targa (.tga).
+
+ Größe hochgeladen: [X_RES]x[Y_RES], [ALPHA]
+
-
+
diff --git a/indra/newview/skins/default/xui/de/floater_preview_animation.xml b/indra/newview/skins/default/xui/de/floater_preview_animation.xml
index 8dda7064d7..0d682b7d90 100644
--- a/indra/newview/skins/default/xui/de/floater_preview_animation.xml
+++ b/indra/newview/skins/default/xui/de/floater_preview_animation.xml
@@ -3,20 +3,24 @@
Animation: [NAME]
-
- Beschreibung:
-
-
-
-
-
+
+
+ Beschreibung:
+
+
+
+
+
+
+
Priorität: [PRIORITY]
Dauer: [DURATION]s
Schleife: [IS_LOOP]
-
-
+
+
Einblenden: [EASE_IN]s
Ausblenden: [EASE_OUT]s
Gelenke: [NUM_JOINTS]
-
+
+
diff --git a/indra/newview/skins/default/xui/de/panel_preferences_firestorm.xml b/indra/newview/skins/default/xui/de/panel_preferences_firestorm.xml
index 525b14721e..8938448117 100644
--- a/indra/newview/skins/default/xui/de/panel_preferences_firestorm.xml
+++ b/indra/newview/skins/default/xui/de/panel_preferences_firestorm.xml
@@ -237,6 +237,7 @@
+
diff --git a/indra/newview/skins/default/xui/en/floater_image_preview.xml b/indra/newview/skins/default/xui/en/floater_image_preview.xml
index 7d1f01b6ac..b766602994 100644
--- a/indra/newview/skins/default/xui/en/floater_image_preview.xml
+++ b/indra/newview/skins/default/xui/en/floater_image_preview.xml
@@ -7,6 +7,17 @@
name="Image Preview"
help_topic="image_preview"
width="300">
+
+
+
+
+
@@ -106,23 +117,23 @@
name="SculptedPrim" />
-
+ visible="true">
-
+ />
+ />
+
+
+
+
+Uploaded Size: [X_RES]x[Y_RES], [ALPHA]
+
+
-
+
+ width="130" />
+ top_pad="5"
+ value="= upload fee information text goes here ="
+ />
diff --git a/indra/newview/skins/default/xui/en/floater_preview_animation.xml b/indra/newview/skins/default/xui/en/floater_preview_animation.xml
index 57f8d6ea23..78b2712a1b 100644
--- a/indra/newview/skins/default/xui/en/floater_preview_animation.xml
+++ b/indra/newview/skins/default/xui/en/floater_preview_animation.xml
@@ -1,7 +1,18 @@
+
+
+
Animation: [NAME]
+
+
+
+
Description:
@@ -38,6 +59,7 @@
top_delta="-2"
right="-10" />
+
+
+
+
+
+
Priority: [PRIORITY]
Duration: [DURATION]s
@@ -86,9 +134,9 @@ Loop: [IS_LOOP]
length="1"
follows="left|top"
font="SansSerif"
- height="91"
+ height="52"
layout="topleft"
- left_pad="5"
+ left_pad="10"
name="AdvancedStatsRight"
top_delta="0"
width="150">
@@ -96,4 +144,5 @@ Ease In: [EASE_IN]s
Ease Out: [EASE_OUT]s
Joints: [NUM_JOINTS]
+
diff --git a/indra/newview/skins/default/xui/en/panel_preferences_firestorm.xml b/indra/newview/skins/default/xui/en/panel_preferences_firestorm.xml
index 08e651fef5..2397c95773 100644
--- a/indra/newview/skins/default/xui/en/panel_preferences_firestorm.xml
+++ b/indra/newview/skins/default/xui/en/panel_preferences_firestorm.xml
@@ -1629,6 +1629,14 @@
tool_tip="If enabled, you can preview animations during the upload process on your own avatar"
name="FSUploadAnimationOnOwnAvatar"
control_name="FSUploadAnimationOnOwnAvatar"/>
+
- "Login process did not complete due to system issues. Try again in a few minutes.
+ Login process did not complete due to system issues. Try again in a few minutes.
If you feel this is an error, please contact the grid support.
Optional viewer update available: [VERSION]
Required viewer update: [VERSION]
diff --git a/indra/newview/skins/default/xui/es/floater_preview_animation.xml b/indra/newview/skins/default/xui/es/floater_preview_animation.xml
index fd7060448f..6d577518f9 100644
--- a/indra/newview/skins/default/xui/es/floater_preview_animation.xml
+++ b/indra/newview/skins/default/xui/es/floater_preview_animation.xml
@@ -3,9 +3,11 @@
Animación: [NAME]
-
- Descripción:
-
-
-
+
+
+ Descripción:
+
+
+
+
diff --git a/indra/newview/skins/default/xui/fr/floater_display_name.xml b/indra/newview/skins/default/xui/fr/floater_display_name.xml
index 203d5996fd..8a750c7c73 100644
--- a/indra/newview/skins/default/xui/fr/floater_display_name.xml
+++ b/indra/newview/skins/default/xui/fr/floater_display_name.xml
@@ -4,7 +4,7 @@
Vous ne pouvez changer votre nom avant le [TIME].
Nouveau nom :
Réécrivez le nom :
+
-
diff --git a/indra/newview/skins/default/xui/fr/floater_image_preview.xml b/indra/newview/skins/default/xui/fr/floater_image_preview.xml
index 24666cbc32..76aa55d34f 100644
--- a/indra/newview/skins/default/xui/fr/floater_image_preview.xml
+++ b/indra/newview/skins/default/xui/fr/floater_image_preview.xml
@@ -2,7 +2,7 @@
Nom :
Description :
- Prévisualiser l'image en tant que :
+ Prévisualiser :
@@ -23,8 +23,11 @@
Essayez d'enregistrer l'image au format Targa 24 bits (.tga).
+
+ Taille transférée : [X_RES]x[Y_RES], [ALPHA]
+
+
-
diff --git a/indra/newview/skins/default/xui/fr/floater_preview_animation.xml b/indra/newview/skins/default/xui/fr/floater_preview_animation.xml
index 1ea55295b9..452b07f026 100644
--- a/indra/newview/skins/default/xui/fr/floater_preview_animation.xml
+++ b/indra/newview/skins/default/xui/fr/floater_preview_animation.xml
@@ -1,8 +1,23 @@
-
+
Animation : [NAME]
- Description :
-
-
-
+
+ Description :
+
+
+
+
+
+
+
+Priorité : [PRIORITY]
+Durée : [DURATION]s
+En boucle : [IS_LOOP]
+
+
+Entrée : [EASE_IN]s
+Sortie : [EASE_OUT]s
+Joints : [NUM_JOINTS]
+
+
diff --git a/indra/newview/skins/default/xui/fr/menu_participant_view.xml b/indra/newview/skins/default/xui/fr/menu_participant_view.xml
index ccd438a1a7..50c987a869 100644
--- a/indra/newview/skins/default/xui/fr/menu_participant_view.xml
+++ b/indra/newview/skins/default/xui/fr/menu_participant_view.xml
@@ -8,6 +8,6 @@
-
+
diff --git a/indra/newview/skins/default/xui/fr/panel_preferences_firestorm.xml b/indra/newview/skins/default/xui/fr/panel_preferences_firestorm.xml
index 5e9ae8c3e1..3cbc0f239f 100644
--- a/indra/newview/skins/default/xui/fr/panel_preferences_firestorm.xml
+++ b/indra/newview/skins/default/xui/fr/panel_preferences_firestorm.xml
@@ -152,17 +152,18 @@
-
+
+
- Dossiers de destination pour les chargements :
- Sons
- Modèles
- Pour changer le dossier de destinatio, cliquez droit dessus dans l'inventaire et sélectionnez
+ Dossiers de destination pour les chargements :
+ Sons
+ Modèles
+ Pour changer le dossier de destination, cliquez droit dessus dans l'inventaire et sélectionnez
"Par défaut pour"
-
-
+
+
diff --git a/indra/newview/skins/default/xui/fr/panel_region_estate.xml b/indra/newview/skins/default/xui/fr/panel_region_estate.xml
index 0987ef3fa3..e68c9ccef3 100644
--- a/indra/newview/skins/default/xui/fr/panel_region_estate.xml
+++ b/indra/newview/skins/default/xui/fr/panel_region_estate.xml
@@ -23,6 +23,7 @@ domaine.
+
diff --git a/indra/newview/skins/default/xui/fr/strings.xml b/indra/newview/skins/default/xui/fr/strings.xml
index 1e354d23a1..92102fbcfb 100644
--- a/indra/newview/skins/default/xui/fr/strings.xml
+++ b/indra/newview/skins/default/xui/fr/strings.xml
@@ -225,8 +225,8 @@ Pour plus d'informations, consultez la page FAQ ci-dessous :
http://secondlife.com/viewer-access-faq
- Échec de la connexion d'urgence de la grille.
-Si vous pensez qu'il s'agit d'une erreur, veuillez contacter le support du réseau.
+ Le processus de connexion n'a pas abouti en raison d'un problème du système. Réessayez dans quelques minutes.
+Si vous pensez qu'il s'agit d'une erreur, veuillez contacter le service d'assistance du réseau.
Mise à jour facultative du client disponible : [VERSION]
diff --git a/indra/newview/skins/default/xui/it/floater_image_preview.xml b/indra/newview/skins/default/xui/it/floater_image_preview.xml
index e5d75a5ad9..f0097f02d6 100644
--- a/indra/newview/skins/default/xui/it/floater_image_preview.xml
+++ b/indra/newview/skins/default/xui/it/floater_image_preview.xml
@@ -7,7 +7,7 @@
Descrizione:
- Anteprima dell'immagine come:
+ Anteprima come:
diff --git a/indra/newview/skins/default/xui/it/floater_preview_animation.xml b/indra/newview/skins/default/xui/it/floater_preview_animation.xml
index 64a8a9a8a2..0120285375 100644
--- a/indra/newview/skins/default/xui/it/floater_preview_animation.xml
+++ b/indra/newview/skins/default/xui/it/floater_preview_animation.xml
@@ -3,9 +3,11 @@
Animazione: [NAME]
-
- Descrizione:
-
-
-
+
+
+ Descrizione:
+
+
+
+
diff --git a/indra/newview/skins/default/xui/ja/floater_preview_animation.xml b/indra/newview/skins/default/xui/ja/floater_preview_animation.xml
index a3042f66ea..2ffffbbc47 100644
--- a/indra/newview/skins/default/xui/ja/floater_preview_animation.xml
+++ b/indra/newview/skins/default/xui/ja/floater_preview_animation.xml
@@ -3,9 +3,11 @@
アニメーション: [NAME]
-
- 説明:
-
-
-
+
+
+ 説明:
+
+
+
+
diff --git a/indra/newview/skins/default/xui/pl/floater_display_name.xml b/indra/newview/skins/default/xui/pl/floater_display_name.xml
index b10df4595c..9e1587c587 100644
--- a/indra/newview/skins/default/xui/pl/floater_display_name.xml
+++ b/indra/newview/skins/default/xui/pl/floater_display_name.xml
@@ -12,7 +12,7 @@
Wpisz Twoje nowe Imię aby potwierdzić:
-
+
diff --git a/indra/newview/skins/default/xui/pl/floater_image_preview.xml b/indra/newview/skins/default/xui/pl/floater_image_preview.xml
index 8a5f0948dc..853268d122 100644
--- a/indra/newview/skins/default/xui/pl/floater_image_preview.xml
+++ b/indra/newview/skins/default/xui/pl/floater_image_preview.xml
@@ -1,5 +1,7 @@
+
+
Nazwa:
@@ -7,7 +9,7 @@
Opis:
- Wyświetl obraz jako:
+ Wyświetl jako:
@@ -29,8 +31,12 @@
Spróbuj zapisać obraz jako 24 bitową Targa (.tga).
+
+ Przesłano: [X_RES]x[Y_RES], [ALPHA]
+
-
-
+
+
+
diff --git a/indra/newview/skins/default/xui/pl/floater_preview_animation.xml b/indra/newview/skins/default/xui/pl/floater_preview_animation.xml
index 23bc933f2d..b245021f47 100644
--- a/indra/newview/skins/default/xui/pl/floater_preview_animation.xml
+++ b/indra/newview/skins/default/xui/pl/floater_preview_animation.xml
@@ -3,19 +3,24 @@
Animacja: [NAME]
-
- Opis:
-
-
-
-
+
+
+ Opis:
+
+
+
+
+
+
+
Priorytet: [PRIORITY]
Długość: [DURATION]s
Zapętlona: [IS_LOOP]
-
-
+
+
Wygł. startu: [EASE_IN]s
Wygł. końca: [EASE_OUT]s
Stawy: [NUM_JOINTS]
-
+
+
diff --git a/indra/newview/skins/default/xui/pl/menu_participant_view.xml b/indra/newview/skins/default/xui/pl/menu_participant_view.xml
index cd08807e79..4f9b4ed775 100644
--- a/indra/newview/skins/default/xui/pl/menu_participant_view.xml
+++ b/indra/newview/skins/default/xui/pl/menu_participant_view.xml
@@ -8,6 +8,6 @@
-
+
diff --git a/indra/newview/skins/default/xui/pl/panel_preferences_firestorm.xml b/indra/newview/skins/default/xui/pl/panel_preferences_firestorm.xml
index 4cf0b96f65..a5974ec2da 100644
--- a/indra/newview/skins/default/xui/pl/panel_preferences_firestorm.xml
+++ b/indra/newview/skins/default/xui/pl/panel_preferences_firestorm.xml
@@ -211,6 +211,7 @@
+
diff --git a/indra/newview/skins/default/xui/pl/panel_region_estate.xml b/indra/newview/skins/default/xui/pl/panel_region_estate.xml
index 35f6a5dd36..0fc434f1a4 100644
--- a/indra/newview/skins/default/xui/pl/panel_region_estate.xml
+++ b/indra/newview/skins/default/xui/pl/panel_region_estate.xml
@@ -21,6 +21,7 @@
+
@@ -28,4 +29,3 @@
-
diff --git a/indra/newview/skins/default/xui/pl/strings.xml b/indra/newview/skins/default/xui/pl/strings.xml
index 4866fc1fca..bd8407958f 100644
--- a/indra/newview/skins/default/xui/pl/strings.xml
+++ b/indra/newview/skins/default/xui/pl/strings.xml
@@ -222,7 +222,7 @@ Więcej informacji w naszym FAQ:
http://secondlife.com/viewer-access-faq
- Logowanie nieudane.
+ Proces logowania nie został ukończony z powodu problemów systemu. Spróbuj ponownie za kilka minut.
Jeśli uważasz, że to błąd, skontaktuj się z obsługą świata.
diff --git a/indra/newview/skins/default/xui/pt/floater_image_preview.xml b/indra/newview/skins/default/xui/pt/floater_image_preview.xml
index 362a553d64..64863194e0 100644
--- a/indra/newview/skins/default/xui/pt/floater_image_preview.xml
+++ b/indra/newview/skins/default/xui/pt/floater_image_preview.xml
@@ -7,8 +7,7 @@
Descrição:
- Prévia da
-imagem como:
+ Pré-visualizar:
diff --git a/indra/newview/skins/default/xui/pt/floater_preview_animation.xml b/indra/newview/skins/default/xui/pt/floater_preview_animation.xml
index 19474d8099..9823192844 100644
--- a/indra/newview/skins/default/xui/pt/floater_preview_animation.xml
+++ b/indra/newview/skins/default/xui/pt/floater_preview_animation.xml
@@ -3,9 +3,11 @@
Animação: [NOME]
-
- Descrição:
-
-
-
+
+
+ Descrição:
+
+
+
+
diff --git a/indra/newview/skins/default/xui/ru/floater_image_preview.xml b/indra/newview/skins/default/xui/ru/floater_image_preview.xml
index 0a2e56d896..b908ec7df5 100644
--- a/indra/newview/skins/default/xui/ru/floater_image_preview.xml
+++ b/indra/newview/skins/default/xui/ru/floater_image_preview.xml
@@ -1,5 +1,7 @@
+
+
Название:
@@ -7,7 +9,7 @@
Описание:
- Показать изображение как:
+ Показать как:
@@ -28,7 +30,12 @@
Невозможно прочитать изображение.
Попробуйте сохранить изображение как 24-битный TGA-файл (Targa).
+
+ Загруженный размер: [X_RES]x[Y_RES], [ALPHA]
+
+
+
diff --git a/indra/newview/skins/default/xui/ru/floater_preview_animation.xml b/indra/newview/skins/default/xui/ru/floater_preview_animation.xml
index 4703e1e616..8749110312 100644
--- a/indra/newview/skins/default/xui/ru/floater_preview_animation.xml
+++ b/indra/newview/skins/default/xui/ru/floater_preview_animation.xml
@@ -3,19 +3,23 @@
Анимация: [NAME]
-
- Описание:
-
-
-
-
+
+
+ Описание:
+
+
+
+
+
+
Приоритет: [PRIORITY]
Длительн.: [DURATION]с
Цикл: [IS_LOOP]
-
-
+
+
Запуск: [EASE_IN]с
Останов: [EASE_OUT]с
Суставы: [NUM_JOINTS]
-
+
+
diff --git a/indra/newview/skins/default/xui/ru/strings.xml b/indra/newview/skins/default/xui/ru/strings.xml
index 91fcc21427..3e62e731d8 100644
--- a/indra/newview/skins/default/xui/ru/strings.xml
+++ b/indra/newview/skins/default/xui/ru/strings.xml
@@ -248,7 +248,7 @@ https://www.firestormviewer.org/choose-your-platform/
http://secondlife.com/viewer-access-faq
- Аварийный сбой входа в сеть.
+ Процесс входа не завершен из-за системных проблем. Повторите попытку через несколько минут.
Если вы считаете, что это ошибка, пожалуйста, свяжитесь со службой поддержки сети.
diff --git a/indra/newview/skins/default/xui/tr/floater_image_preview.xml b/indra/newview/skins/default/xui/tr/floater_image_preview.xml
index a5963bdf63..5c6fd6479a 100644
--- a/indra/newview/skins/default/xui/tr/floater_image_preview.xml
+++ b/indra/newview/skins/default/xui/tr/floater_image_preview.xml
@@ -7,7 +7,7 @@
Açıklama:
- Görüntüyü şu şekilde önizle:
+ Olarak önizleyin:
diff --git a/indra/newview/skins/default/xui/tr/floater_preview_animation.xml b/indra/newview/skins/default/xui/tr/floater_preview_animation.xml
index 23b4848333..7241b845a1 100644
--- a/indra/newview/skins/default/xui/tr/floater_preview_animation.xml
+++ b/indra/newview/skins/default/xui/tr/floater_preview_animation.xml
@@ -3,9 +3,11 @@
Animasyon: [NAME]
-
- Açıklama:
-
-
-
+
+
+ Açıklama:
+
+
+
+
diff --git a/indra/newview/skins/default/xui/zh/floater_preview_animation.xml b/indra/newview/skins/default/xui/zh/floater_preview_animation.xml
index b94d67b7ef..dacc2b3cc5 100644
--- a/indra/newview/skins/default/xui/zh/floater_preview_animation.xml
+++ b/indra/newview/skins/default/xui/zh/floater_preview_animation.xml
@@ -3,9 +3,11 @@
動作:[NAME]
-
- 描述:
-
-
-
+
+
+ 描述:
+
+
+
+