From c2d844c972419e3bd90076f4e5ee6296007b0e6e Mon Sep 17 00:00:00 2001 From: Techwolf Lupindo Date: Mon, 16 Aug 2010 22:10:18 -0400 Subject: [PATCH 01/39] SNOW-746: Finished Google BreakPad cmake for standalone (transplanted from 5a7ee78d029e973084e28d0d23a7233e0d976dca) --- doc/contributions.txt | 1 + indra/cmake/FindGoogleBreakpad.cmake | 40 ++++++++++++++++++++++++++++ indra/cmake/GoogleBreakpad.cmake | 4 +-- 3 files changed, 43 insertions(+), 2 deletions(-) create mode 100644 indra/cmake/FindGoogleBreakpad.cmake diff --git a/doc/contributions.txt b/doc/contributions.txt index 5f209a6675..f2e9cfd5c3 100644 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -602,6 +602,7 @@ Teardrops Fall VWR-5366 Techwolf Lupindo SNOW-92 + SNOW-746 VWR-12385 tenebrous pau VWR-247 diff --git a/indra/cmake/FindGoogleBreakpad.cmake b/indra/cmake/FindGoogleBreakpad.cmake new file mode 100644 index 0000000000..1a0493be5e --- /dev/null +++ b/indra/cmake/FindGoogleBreakpad.cmake @@ -0,0 +1,40 @@ +# -*- cmake -*- + +# - Find Google BreakPad +# Find the Google BreakPad includes and library +# This module defines +# BREAKPAD_EXCEPTION_HANDLER_INCLUDE_DIR, where to find exception_handler.h, etc. +# BREAKPAD_EXCEPTION_HANDLER_LIBRARIES, the libraries needed to use Google BreakPad. +# BREAKPAD_EXCEPTION_HANDLER_FOUND, If false, do not try to use Google BreakPad. +# also defined, but not for general use are +# BREAKPAD_EXCEPTION_HANDLER_LIBRARY, where to find the Google BreakPad library. + +FIND_PATH(BREAKPAD_EXCEPTION_HANDLER_INCLUDE_DIR google_breakpad/exception_handler.h) + +SET(BREAKPAD_EXCEPTION_HANDLER_NAMES ${BREAKPAD_EXCEPTION_HANDLER_NAMES} breakpad_client) +FIND_LIBRARY(BREAKPAD_EXCEPTION_HANDLER_LIBRARY + NAMES ${BREAKPAD_EXCEPTION_HANDLER_NAMES} + ) + +IF (BREAKPAD_EXCEPTION_HANDLER_LIBRARY AND BREAKPAD_EXCEPTION_HANDLER_INCLUDE_DIR) + SET(BREAKPAD_EXCEPTION_HANDLER_LIBRARIES ${BREAKPAD_EXCEPTION_HANDLER_LIBRARY}) + SET(BREAKPAD_EXCEPTION_HANDLER_FOUND "YES") +ELSE (BREAKPAD_EXCEPTION_HANDLER_LIBRARY AND BREAKPAD_EXCEPTION_HANDLER_INCLUDE_DIR) + SET(BREAKPAD_EXCEPTION_HANDLER_FOUND "NO") +ENDIF (BREAKPAD_EXCEPTION_HANDLER_LIBRARY AND BREAKPAD_EXCEPTION_HANDLER_INCLUDE_DIR) + + +IF (BREAKPAD_EXCEPTION_HANDLER_FOUND) + IF (NOT BREAKPAD_EXCEPTION_HANDLER_FIND_QUIETLY) + MESSAGE(STATUS "Found Google BreakPad: ${BREAKPAD_EXCEPTION_HANDLER_LIBRARIES}") + ENDIF (NOT BREAKPAD_EXCEPTION_HANDLER_FIND_QUIETLY) +ELSE (BREAKPAD_EXCEPTION_HANDLER_FOUND) + IF (BREAKPAD_EXCEPTION_HANDLER_FIND_REQUIRED) + MESSAGE(FATAL_ERROR "Could not find Google BreakPad library") + ENDIF (BREAKPAD_EXCEPTION_HANDLER_FIND_REQUIRED) +ENDIF (BREAKPAD_EXCEPTION_HANDLER_FOUND) + +MARK_AS_ADVANCED( + BREAKPAD_EXCEPTION_HANDLER_LIBRARY + BREAKPAD_EXCEPTION_HANDLER_INCLUDE_DIR + ) diff --git a/indra/cmake/GoogleBreakpad.cmake b/indra/cmake/GoogleBreakpad.cmake index e45518ef56..c6daa05fbd 100644 --- a/indra/cmake/GoogleBreakpad.cmake +++ b/indra/cmake/GoogleBreakpad.cmake @@ -2,8 +2,8 @@ include(Prebuilt) if (STANDALONE) - MESSAGE(FATAL_ERROR "*TODO standalone support for google breakad is unimplemented") - # *TODO - implement this include(FindGoogleBreakpad) + set(BREAKPAD_EXCEPTION_HANDLER_FIND_REQUIRED ON) + include(FindGoogleBreakpad) else (STANDALONE) use_prebuilt_binary(google_breakpad) set(BREAKPAD_EXCEPTION_HANDLER_LIBRARIES exception_handler) From 1b27c4f9c762d68fae5b47dc08a31a2699ca9fe5 Mon Sep 17 00:00:00 2001 From: Techwolf Lupindo Date: Sun, 22 Aug 2010 19:20:29 -0400 Subject: [PATCH 02/39] SNOW-599/SNOW-747: Pulseaudio should be optional on Linux. --- doc/contributions.txt | 2 ++ indra/cmake/PulseAudio.cmake | 44 +++++++++++------------ indra/media_plugins/webkit/CMakeLists.txt | 5 ++- 3 files changed, 26 insertions(+), 25 deletions(-) diff --git a/doc/contributions.txt b/doc/contributions.txt index 8c6bd5e0fe..56e22d3990 100644 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -517,6 +517,8 @@ Ringo Tuxing Robin Cornelius SNOW-108 SNOW-204 + SNOW-599 + SNOW-747 VWR-2488 VWR-9557 VWR-11128 diff --git a/indra/cmake/PulseAudio.cmake b/indra/cmake/PulseAudio.cmake index f8087a8083..e918de0198 100644 --- a/indra/cmake/PulseAudio.cmake +++ b/indra/cmake/PulseAudio.cmake @@ -1,28 +1,28 @@ # -*- cmake -*- include(Prebuilt) -if (STANDALONE) - include(FindPkgConfig) - - pkg_check_modules(PULSEAUDIO REQUIRED libpulse-mainloop-glib) - -elseif (LINUX) - use_prebuilt_binary(pulseaudio) - set(PULSEAUDIO_FOUND ON FORCE BOOL) - set(PULSEAUDIO_INCLUDE_DIRS - ${LIBS_PREBUILT_DIR}/include - ) - # We don't need to explicitly link against pulseaudio itself, because - # the viewer probes for the system's copy at runtime. - set(PULSEAUDIO_LIBRARIES - # none needed! - ) -endif (STANDALONE) - -if (PULSEAUDIO_FOUND) - set(PULSEAUDIO ON CACHE BOOL "Build with PulseAudio support, if available.") -endif (PULSEAUDIO_FOUND) +set(PULSEAUDIO ON CACHE BOOL "Build with PulseAudio support, if available.") if (PULSEAUDIO) - add_definitions(-DLL_PULSEAUDIO_ENABLED=1) + if (STANDALONE) + include(FindPkgConfig) + + pkg_check_modules(PULSEAUDIO libpulse) + + elseif (LINUX) + use_prebuilt_binary(pulseaudio) + set(PULSEAUDIO_FOUND ON FORCE BOOL) + set(PULSEAUDIO_INCLUDE_DIRS + ${LIBS_PREBUILT_DIR}/include + ) + # We don't need to explicitly link against pulseaudio itself, because + # the viewer probes for the system's copy at runtime. + set(PULSEAUDIO_LIBRARIES + # none needed! + ) + endif (STANDALONE) endif (PULSEAUDIO) + +if (PULSEAUDIO_FOUND) + add_definitions(-DLL_PULSEAUDIO_ENABLED=1) +endif (PULSEAUDIO_FOUND) diff --git a/indra/media_plugins/webkit/CMakeLists.txt b/indra/media_plugins/webkit/CMakeLists.txt index d576638dd7..6bb87ec306 100644 --- a/indra/media_plugins/webkit/CMakeLists.txt +++ b/indra/media_plugins/webkit/CMakeLists.txt @@ -53,6 +53,8 @@ set(media_plugin_webkit_LINK_LIBRARIES if (LINUX) if (PULSEAUDIO) list(APPEND media_plugin_webkit_SOURCE_FILES linux_volume_catcher.cpp) + else (PULSEAUDIO) + list(APPEND media_plugin_webkit_SOURCE_FILES dummy_volume_catcher.cpp) endif (PULSEAUDIO) list(APPEND media_plugin_webkit_LINK_LIBRARIES ${UI_LIBRARIES} # for glib/GTK @@ -67,9 +69,6 @@ elseif (DARWIN) ) elseif (WINDOWS) list(APPEND media_plugin_webkit_SOURCE_FILES windows_volume_catcher.cpp) -else (LINUX) - # All other platforms use the dummy volume catcher for now. - list(APPEND media_plugin_webkit_SOURCE_FILES dummy_volume_catcher.cpp) endif (LINUX) set_source_files_properties(${media_plugin_webkit_HEADER_FILES} From 24473fc0d619beaafab029170a7aacde5855be1a Mon Sep 17 00:00:00 2001 From: Merov Linden Date: Thu, 16 Sep 2010 15:31:07 -0700 Subject: [PATCH 03/39] STORM-161 : Reimplement hide object selection --- doc/contributions.txt | 2 ++ indra/newview/app_settings/settings.xml | 11 +++++++++++ indra/newview/llselectmgr.cpp | 3 ++- indra/newview/llselectmgr.h | 1 + indra/newview/skins/default/xui/en/menu_viewer.xml | 10 ++++++++++ 5 files changed, 26 insertions(+), 1 deletion(-) diff --git a/doc/contributions.txt b/doc/contributions.txt index 8087a87004..503caf26a6 100644 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -20,6 +20,7 @@ Aimee Trescothick SNOW-227 SNOW-570 SNOW-572 + SNOW-575 VWR-3321 VWR-3336 VWR-3903 @@ -33,6 +34,7 @@ Aimee Trescothick VWR-6550 VWR-6583 VWR-6482 + VWR-6918 VWR-7109 VWR-7383 VWR-7800 diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 2a0e23b1dc..02e7cb660d 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -7899,6 +7899,17 @@ Value 0 + RenderHighlightSelections + + Comment + Show selection outlines on objects + Persist + 0 + Type + Boolean + Value + 1 + RenderHiddenSelections Comment diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp index fb60b1ece7..8e080078c0 100644 --- a/indra/newview/llselectmgr.cpp +++ b/indra/newview/llselectmgr.cpp @@ -181,6 +181,7 @@ template class LLSelectMgr* LLSingleton::getInstance(); //----------------------------------------------------------------------------- LLSelectMgr::LLSelectMgr() : mHideSelectedObjects(LLCachedControl(gSavedSettings, "HideSelectedObjects", FALSE)), + mRenderHighlightSelections(LLCachedControl(gSavedSettings, "RenderHighlightSelections", TRUE)), mAllowSelectAvatar( LLCachedControl(gSavedSettings, "AllowSelectAvatar", FALSE)), mDebugSelectMgr(LLCachedControl(gSavedSettings, "DebugSelectMgr", FALSE)) { @@ -4898,7 +4899,7 @@ void LLSelectMgr::updateSelectionSilhouette(LLObjectSelectionHandle object_handl } void LLSelectMgr::renderSilhouettes(BOOL for_hud) { - if (!mRenderSilhouettes) + if (!mRenderSilhouettes || !mRenderHighlightSelections) { return; } diff --git a/indra/newview/llselectmgr.h b/indra/newview/llselectmgr.h index e6db264377..7478ed5f9a 100644 --- a/indra/newview/llselectmgr.h +++ b/indra/newview/llselectmgr.h @@ -347,6 +347,7 @@ public: static LLColor4 sContextSilhouetteColor; LLCachedControl mHideSelectedObjects; + LLCachedControl mRenderHighlightSelections; LLCachedControl mAllowSelectAvatar; LLCachedControl mDebugSelectMgr; diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index 19707c1bc9..3f49505226 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -772,6 +772,16 @@ + + + + From 0be99ec115a8bd3f55c39725201106d044474109 Mon Sep 17 00:00:00 2001 From: Tofu Linden Date: Sat, 25 Sep 2010 10:00:25 +0100 Subject: [PATCH 04/39] Backed out changeset 8ab901af1241 Was causing LEAP-2 (forensics by Boroondas) --- indra/newview/llimview.cpp | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index 7a81efeed7..493398c68a 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -622,10 +622,7 @@ bool LLIMModel::newSession(const LLUUID& session_id, const std::string& name, co LLIMSession* session = new LLIMSession(session_id, name, type, other_participant_id, ids, voice); mId2SessionMap[session_id] = session; - // When notifying observer, name of session is used instead of "name", because they may not be the - // same if it is an adhoc session (in this case name is localized in LLIMSession constructor). - std::string session_name = LLIMModel::getInstance()->getName(session_id); - LLIMMgr::getInstance()->notifyObserverSessionAdded(session_id, session_name, other_participant_id); + LLIMMgr::getInstance()->notifyObserverSessionAdded(session_id, name, other_participant_id); return true; @@ -2280,9 +2277,6 @@ void LLIMMgr::addMessage( if (new_session) { LLIMModel::getInstance()->newSession(new_session_id, fixed_session_name, dialog, other_participant_id); - // When addidng messages further here, name of session is used instead of "name", because they may not be the - // same if it is an adhoc session (in this case name is localized in LLIMSession constructor). - fixed_session_name = LLIMModel::getInstance()->getName(new_session_id); // When we get a new IM, and if you are a god, display a bit // of information about the source. This is to help liaisons @@ -2302,13 +2296,13 @@ void LLIMMgr::addMessage( //<< "*** region_id: " << region_id << std::endl //<< "*** position: " << position << std::endl; - LLIMModel::instance().addMessage(new_session_id, fixed_session_name, other_participant_id, bonus_info.str()); + LLIMModel::instance().addMessage(new_session_id, from, other_participant_id, bonus_info.str()); } make_ui_sound("UISndNewIncomingIMSession"); } - LLIMModel::instance().addMessage(new_session_id, fixed_session_name, other_participant_id, msg); + LLIMModel::instance().addMessage(new_session_id, from, other_participant_id, msg); } void LLIMMgr::addSystemMessage(const LLUUID& session_id, const std::string& message_name, const LLSD& args) From b9f5ced5bb2c38bda9b8bdf53a329a040029bee4 Mon Sep 17 00:00:00 2001 From: Tofu Linden Date: Sat, 25 Sep 2010 10:37:59 +0100 Subject: [PATCH 05/39] VWR-23181 (port of SNOW-650) 'Tries to build pulseaudio when pulseaudio not found.' --- doc/contributions.txt | 1 + indra/media_plugins/webkit/CMakeLists.txt | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/doc/contributions.txt b/doc/contributions.txt index 3da5af687e..bda461b0d6 100644 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -651,6 +651,7 @@ Teardrops Fall Techwolf Lupindo SNOW-92 SNOW-649 + SNOW-650 SNOW-687 SNOW-680 SNOW-681 diff --git a/indra/media_plugins/webkit/CMakeLists.txt b/indra/media_plugins/webkit/CMakeLists.txt index d576638dd7..619b4baeef 100644 --- a/indra/media_plugins/webkit/CMakeLists.txt +++ b/indra/media_plugins/webkit/CMakeLists.txt @@ -51,9 +51,9 @@ set(media_plugin_webkit_LINK_LIBRARIES # Select which VolumeCatcher implementation to use if (LINUX) - if (PULSEAUDIO) + if (PULSEAUDIO_FOUND) list(APPEND media_plugin_webkit_SOURCE_FILES linux_volume_catcher.cpp) - endif (PULSEAUDIO) + endif (PULSEAUDIO_FOUND) list(APPEND media_plugin_webkit_LINK_LIBRARIES ${UI_LIBRARIES} # for glib/GTK ) From c7a57bdf876121e1b9304222442d0426781eea33 Mon Sep 17 00:00:00 2001 From: Tofu Linden Date: Sat, 25 Sep 2010 10:52:45 +0100 Subject: [PATCH 06/39] Update gstreamer video plugin's license in accordance with... our new license. --- .../media_plugins/gstreamer010/llmediaimplgstreamervidplug.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/media_plugins/gstreamer010/llmediaimplgstreamervidplug.cpp b/indra/media_plugins/gstreamer010/llmediaimplgstreamervidplug.cpp index a51a8aa9e1..c4b563f0b8 100644 --- a/indra/media_plugins/gstreamer010/llmediaimplgstreamervidplug.cpp +++ b/indra/media_plugins/gstreamer010/llmediaimplgstreamervidplug.cpp @@ -516,7 +516,7 @@ void gst_slvideo_init_class (void) GST_VERSION_MINOR, "private-slvideoplugin", "SL Video sink plugin", - plugin_init, "0.1", GST_LICENSE_UNKNOWN, + plugin_init, "1.0", "LGPL", "Second Life", "http://www.secondlife.com/"); #undef PACKAGE From 5e0d27b1c3d1965e239154ba1a3d3aa282d9734d Mon Sep 17 00:00:00 2001 From: Tofu Linden Date: Sat, 25 Sep 2010 11:02:02 +0100 Subject: [PATCH 07/39] port of 'SNOW-592 FIXED gstreamer 0.10.28 standalone build failure' --- doc/contributions.txt | 4 +++- .../media_plugins/gstreamer010/CMakeLists.txt | 7 ------ .../llmediaimplgstreamervidplug.cpp | 22 +++++++++---------- 3 files changed, 14 insertions(+), 19 deletions(-) diff --git a/doc/contributions.txt b/doc/contributions.txt index bda461b0d6..68419ee40b 100644 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -650,6 +650,7 @@ Teardrops Fall VWR-5366 Techwolf Lupindo SNOW-92 + SNOW-592 SNOW-649 SNOW-650 SNOW-687 @@ -666,8 +667,9 @@ Thickbrick Sleaford SNOW-390 SNOW-421 SNOW-462 - SNOW-635 SNOW-586 + SNOW-592 + SNOW-635 SNOW-743 VWR-7109 VWR-9287 diff --git a/indra/media_plugins/gstreamer010/CMakeLists.txt b/indra/media_plugins/gstreamer010/CMakeLists.txt index 9f0ff654fc..a5127ae5f4 100644 --- a/indra/media_plugins/gstreamer010/CMakeLists.txt +++ b/indra/media_plugins/gstreamer010/CMakeLists.txt @@ -42,13 +42,6 @@ set(media_plugin_gstreamer010_HEADER_FILES llmediaimplgstreamertriviallogging.h ) -if (${CXX_VERSION_NUMBER} MATCHES "4[23456789].") - # Work around a bad interaction between broken gstreamer headers and - # g++ >= 4.2's increased strictness. - set_source_files_properties(llmediaimplgstreamervidplug.cpp PROPERTIES - COMPILE_FLAGS -Wno-write-strings) -endif (${CXX_VERSION_NUMBER} MATCHES "4[23456789].") - add_library(media_plugin_gstreamer010 SHARED ${media_plugin_gstreamer010_SOURCE_FILES} diff --git a/indra/media_plugins/gstreamer010/llmediaimplgstreamervidplug.cpp b/indra/media_plugins/gstreamer010/llmediaimplgstreamervidplug.cpp index c4b563f0b8..cdb7f4faeb 100644 --- a/indra/media_plugins/gstreamer010/llmediaimplgstreamervidplug.cpp +++ b/indra/media_plugins/gstreamer010/llmediaimplgstreamervidplug.cpp @@ -48,7 +48,7 @@ GST_DEBUG_CATEGORY_STATIC (gst_slvideo_debug); #define SLV_ALLCAPS GST_VIDEO_CAPS_RGBx SLV_SIZECAPS static GstStaticPadTemplate sink_factory = GST_STATIC_PAD_TEMPLATE ( - "sink", + (gchar*)"sink", GST_PAD_SINK, GST_PAD_ALWAYS, GST_STATIC_CAPS (SLV_ALLCAPS) @@ -508,18 +508,18 @@ plugin_init (GstPlugin * plugin) some g++ versions buggily avoid __attribute__((constructor)) functions - so we provide an explicit plugin init function. */ +#define PACKAGE (gchar*)"packagehack" +// this macro quietly refers to PACKAGE internally +GST_PLUGIN_DEFINE (GST_VERSION_MAJOR, + GST_VERSION_MINOR, + (gchar*)"private-slvideoplugin", + (gchar*)"SL Video sink plugin", + plugin_init, (gchar*)"1.0", (gchar*)"LGPL", + (gchar*)"Second Life", + (gchar*)"http://www.secondlife.com/"); +#undef PACKAGE void gst_slvideo_init_class (void) { -#define PACKAGE "packagehack" - // this macro quietly refers to PACKAGE internally - static GST_PLUGIN_DEFINE (GST_VERSION_MAJOR, - GST_VERSION_MINOR, - "private-slvideoplugin", - "SL Video sink plugin", - plugin_init, "1.0", "LGPL", - "Second Life", - "http://www.secondlife.com/"); -#undef PACKAGE ll_gst_plugin_register_static (&gst_plugin_desc); DEBUGMSG("CLASS INIT"); } From 9ff0490998b0ff47f4372b0f6ef32c8abb534ba2 Mon Sep 17 00:00:00 2001 From: "Boroondas Gupte (patch by Aleric Inglewood)" Date: Tue, 31 Aug 2010 17:07:26 +0200 Subject: [PATCH 08/39] SNOW-764 (problem 1) FIXED Bugs showing when compiling with optimization also fixes: SNOW-522 FIXED crash due to looking for skins/paths.xml at the wrong path originally commited at http://svn.secondlife.com/trac/linden/changeset/3550 SVN changeset did not apply automatically due to changed context. Manually applied changes, which was straight forward. Added SNOW-522 in doc/contributions.txt, because that's fixed by this, too. (transplanted from 8afc8382dd9bddd4968060d306d96218d571a171) --- doc/contributions.txt | 2 ++ indra/llvfs/lldir_linux.cpp | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/contributions.txt b/doc/contributions.txt index 68419ee40b..11f3ad6d3a 100644 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -61,6 +61,8 @@ Aimee Trescothick Alejandro Rosenthal VWR-1184 Aleric Inglewood + SNOW-522 + SNOW-764 VWR-10001 VWR-10759 VWR-10837 diff --git a/indra/llvfs/lldir_linux.cpp b/indra/llvfs/lldir_linux.cpp index 6ccac45569..a1c6669b97 100644 --- a/indra/llvfs/lldir_linux.cpp +++ b/indra/llvfs/lldir_linux.cpp @@ -93,7 +93,7 @@ LLDir_Linux::LLDir_Linux() #else mAppRODataDir = tmp_str; #endif - U32 indra_pos = mExecutableDir.find("/indra"); + std::string::size_type indra_pos = mExecutableDir.find("/indra"); if (indra_pos != std::string::npos) { // ...we're in a dev checkout From 136858bd20acab9684c2bd1673663fc925f0cc77 Mon Sep 17 00:00:00 2001 From: "Boroondas Gupte (patch by Robin Cornelius)" Date: Tue, 31 Aug 2010 12:16:03 +0200 Subject: [PATCH 09/39] VWR-20911 FIXED CMake build arch detection is inaccurate and incomplete Robin Cornelius' patch from http://jira.secondlife.com/secure/attachment/42801/SNOW-776+Don%27t+use+uname+for+build+arch+detection%2C+use+compiler.patch applied without fuzz: patching file indra/cmake/Variables.cmake Hunk #1 succeeded at 52 (offset -2 lines). Added entry in doc/contributions.txt. No further changes other than that. (transplanted from a9132a63e4739965d65ddd58a7be9eabe4321c2a) --- doc/contributions.txt | 1 + indra/cmake/Variables.cmake | 17 +++++++++-------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/doc/contributions.txt b/doc/contributions.txt index 11f3ad6d3a..38059e1e29 100644 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -563,6 +563,7 @@ Robin Cornelius VWR-12758 VWR-12763 VWR-12995 + VWR-20911 Ryozu Kojima VWR-53 VWR-287 diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake index bfaf3f4f26..8a08154295 100644 --- a/indra/cmake/Variables.cmake +++ b/indra/cmake/Variables.cmake @@ -54,19 +54,20 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") set(LINUX ON BOOl FORCE) # If someone has specified a word size, use that to determine the - # architecture. Otherwise, let the architecture specify the word size. + # architecture. Otherwise, let the compiler specify the word size. + # Using uname will break under chroots and other cross arch compiles. RC if (WORD_SIZE EQUAL 32) set(ARCH i686) elseif (WORD_SIZE EQUAL 64) set(ARCH x86_64) else (WORD_SIZE EQUAL 32) - execute_process(COMMAND uname -m COMMAND sed s/i.86/i686/ - OUTPUT_VARIABLE ARCH OUTPUT_STRIP_TRAILING_WHITESPACE) - if (ARCH STREQUAL x86_64) - set(WORD_SIZE 64) - else (ARCH STREQUAL x86_64) - set(WORD_SIZE 32) - endif (ARCH STREQUAL x86_64) + if(CMAKE_SIZEOF_VOID_P MATCHES 4) + set(ARCH i686) + set(WORD_SIZE 32) + else(CMAKE_SIZEOF_VOID_P MATCHES 4) + set(ARCH x86_64) + set(WORD_SIZE 64) + endif(CMAKE_SIZEOF_VOID_P MATCHES 4) endif (WORD_SIZE EQUAL 32) set(LL_ARCH ${ARCH}_linux) From bd3d9e1ba99586d31b6deba2f9dc54d481f9740b Mon Sep 17 00:00:00 2001 From: Boroondas Gupte Date: Tue, 31 Aug 2010 14:41:46 +0200 Subject: [PATCH 10/39] VWR-20911 FOLLOWUP fixed indentation (cmake files use spaces only) (transplanted from d02b22278d5b0a0386b3a7c25221b2069bc02963) --- indra/cmake/Variables.cmake | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake index 8a08154295..230e228c62 100644 --- a/indra/cmake/Variables.cmake +++ b/indra/cmake/Variables.cmake @@ -62,12 +62,12 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") set(ARCH x86_64) else (WORD_SIZE EQUAL 32) if(CMAKE_SIZEOF_VOID_P MATCHES 4) - set(ARCH i686) - set(WORD_SIZE 32) - else(CMAKE_SIZEOF_VOID_P MATCHES 4) - set(ARCH x86_64) - set(WORD_SIZE 64) - endif(CMAKE_SIZEOF_VOID_P MATCHES 4) + set(ARCH i686) + set(WORD_SIZE 32) + else(CMAKE_SIZEOF_VOID_P MATCHES 4) + set(ARCH x86_64) + set(WORD_SIZE 64) + endif(CMAKE_SIZEOF_VOID_P MATCHES 4) endif (WORD_SIZE EQUAL 32) set(LL_ARCH ${ARCH}_linux) From 27ec7841279865ecc48a7a0af2f4591ff0300afc Mon Sep 17 00:00:00 2001 From: Boroondas Gupte Date: Sun, 29 Aug 2010 16:43:08 +0200 Subject: [PATCH 11/39] VWR-20891 FIXED missing LL_TEST conditions in indra/viewer_components/login/CMakeLists.txt (transplanted from 6ea6df364e22ba6f99b18a0e684ba4912f4f7223) --- doc/contributions.txt | 1 + indra/viewer_components/login/CMakeLists.txt | 22 ++++++++++++-------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/doc/contributions.txt b/doc/contributions.txt index 38059e1e29..23050e718f 100644 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -171,6 +171,7 @@ Boroondas Gupte SNOW-737 VWR-233 VWR-20583 + VWR-20891 WEB-262 Bulli Schumann CT-218 diff --git a/indra/viewer_components/login/CMakeLists.txt b/indra/viewer_components/login/CMakeLists.txt index fb65779eb7..fe64926da6 100644 --- a/indra/viewer_components/login/CMakeLists.txt +++ b/indra/viewer_components/login/CMakeLists.txt @@ -3,7 +3,9 @@ project(login) include(00-Common) -include(LLAddBuildTest) +if(LL_TESTS) + include(LLAddBuildTest) +endif(LL_TESTS) include(LLCommon) include(LLMath) include(LLXML) @@ -43,14 +45,16 @@ target_link_libraries(lllogin ${PTH_LIBRARIES} ) -SET(lllogin_TEST_SOURCE_FILES +if(LL_TESTS) + SET(lllogin_TEST_SOURCE_FILES + lllogin.cpp + ) + + set_source_files_properties( lllogin.cpp + PROPERTIES + LL_TEST_ADDITIONAL_LIBRARIES "${PTH_LIBRARIES}" ) -set_source_files_properties( - lllogin.cpp - PROPERTIES - LL_TEST_ADDITIONAL_LIBRARIES "${PTH_LIBRARIES}" - ) - -LL_ADD_PROJECT_UNIT_TESTS(lllogin "${lllogin_TEST_SOURCE_FILES}") + LL_ADD_PROJECT_UNIT_TESTS(lllogin "${lllogin_TEST_SOURCE_FILES}") +endif(LL_TESTS) From 02a4c4ac0d36318adc8dd6e7f0c46d236b9f39c6 Mon Sep 17 00:00:00 2001 From: Dessie Linden Date: Tue, 21 Sep 2010 13:51:40 -0700 Subject: [PATCH 12/39] Corrected channel name(s) and version number --- BuildParams | 6 ++++-- indra/llcommon/llversionviewer.h | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/BuildParams b/BuildParams index acc3904d82..9c17a40d3f 100644 --- a/BuildParams +++ b/BuildParams @@ -39,8 +39,9 @@ snowstorm_viewer-development.email = viewer-development-builds@lists.secondlife. # ======================================== # Viewer Beta # ======================================== -viewer-beta.viewer_channel = "Second Life Beta" -viewer-beta.login_channel = "Second Life Beta" +viewer-beta.viewer_channel = "Second Life Beta Viewer" +viewer-beta.login_channel = "Second Life Beta Viewer" +viewer-beta.build_debug_release_separately = true viewer-beta.build_viewer_update_version_manager = true # ======================================== @@ -48,6 +49,7 @@ viewer-beta.build_viewer_update_version_manager = true # ======================================== viewer-release.viewer_channel = "Second Life Release" viewer-release.login_channel = "Second Life Release" +viewer-release.build_debug_release_separately = true viewer-release.build_viewer_update_version_manager = true # ======================================== diff --git a/indra/llcommon/llversionviewer.h b/indra/llcommon/llversionviewer.h index 92d9e1204a..ffec9ea5b1 100644 --- a/indra/llcommon/llversionviewer.h +++ b/indra/llcommon/llversionviewer.h @@ -28,8 +28,8 @@ #define LL_LLVERSIONVIEWER_H const S32 LL_VERSION_MAJOR = 2; -const S32 LL_VERSION_MINOR = 1; -const S32 LL_VERSION_PATCH = 2; +const S32 LL_VERSION_MINOR = 2; +const S32 LL_VERSION_PATCH = 0; const S32 LL_VERSION_BUILD = 0; const char * const LL_CHANNEL = "Second Life Developer"; From 2f29c3511422e29bbdefa43af2fc3fc785c38c86 Mon Sep 17 00:00:00 2001 From: Xiaohong Bao Date: Wed, 22 Sep 2010 14:44:40 -0600 Subject: [PATCH 13/39] fix for SH-173/VWR-22868: Development Viewer freezes just after startup / greedy with file handles / 'WARNING: ll_apr_warn_status: APR: Too many open files' (transplanted from a9aefa70c029eb9dddec3833d0ce22ef4b4421b5) --- indra/newview/lltexturefetch.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/indra/newview/lltexturefetch.cpp b/indra/newview/lltexturefetch.cpp index 4e9ebce4d1..fafef84aa2 100644 --- a/indra/newview/lltexturefetch.cpp +++ b/indra/newview/lltexturefetch.cpp @@ -847,10 +847,16 @@ bool LLTextureFetchWorker::doWork(S32 param) if(mCanUseHTTP) { //NOTE: - //it seems ok to let sim control the UDP traffic - //so there is no throttle for http here. + //control the number of the http requests issued for: + //1, not openning too many file descriptors at the same time; + //2, control the traffic of http so udp gets bandwidth. // - + static const S32 MAX_NUM_OF_HTTP_REQUESTS_IN_QUEUE = 32 ; + if(mFetcher->getNumHTTPRequests() > MAX_NUM_OF_HTTP_REQUESTS_IN_QUEUE) + { + return false ; //wait. + } + mFetcher->removeFromNetworkQueue(this, false); S32 cur_size = 0; From e8d1ddb22545fa2abc0400d7af64e82c79fffa95 Mon Sep 17 00:00:00 2001 From: "Nyx (Neal Orman)" Date: Wed, 22 Sep 2010 18:09:17 -0400 Subject: [PATCH 14/39] SH-188 FIX crash in llvoavatar.cpp We were using a NULL pointer after checking it. Did some logic juggling to ensure that we only use the pointer if it is non-null Code reviewed by Seraph (transplanted from a90fe10ddac9545249c6f218af438a36bcbc3162) --- indra/newview/llvoavatar.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index 46d8f65d23..c31714de5a 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -6089,9 +6089,9 @@ void LLVOAvatar::updateMeshTextures() // use the last-known good baked texture until it finish the first // render of the new layerset. - const BOOL layerset_invalid = !mBakedTextureDatas[i].mTexLayerSet - || !mBakedTextureDatas[i].mTexLayerSet->getComposite()->isInitialized() - || !mBakedTextureDatas[i].mTexLayerSet->isLocalTextureDataAvailable(); + const BOOL layerset_invalid = mBakedTextureDatas[i].mTexLayerSet + && ( !mBakedTextureDatas[i].mTexLayerSet->getComposite()->isInitialized() + || !mBakedTextureDatas[i].mTexLayerSet->isLocalTextureDataAvailable() ); use_lkg_baked_layer[i] = (!is_layer_baked[i] && (mBakedTextureDatas[i].mLastTextureIndex != IMG_DEFAULT_AVATAR) From 45cebd19dd365dc1d921d06a33864872b682f448 Mon Sep 17 00:00:00 2001 From: Aimee Linden Date: Thu, 23 Sep 2010 12:13:43 +0100 Subject: [PATCH 15/39] STORM-128 FIXED New friends list permission icons * Added new icon artwork. * Reordered the icons so that the most common ones are to the right, so that they change position as little as possible. * Removed old 1.23 icons. (transplanted from 5ed5fa607e2ce3eaabc8f9716bd4a6ef5933aa64) --- indra/newview/llavatarlistitem.cpp | 24 +++---- indra/newview/llavatarlistitem.h | 6 +- .../skins/default/textures/edit_mine.png | Bin 0 -> 639 bytes .../skins/default/textures/edit_theirs.png | Bin 0 -> 634 bytes .../skins/default/textures/ff_edit_mine.tga | Bin 1068 -> 0 bytes .../default/textures/ff_edit_mine_button.tga | Bin 4140 -> 0 bytes .../skins/default/textures/ff_edit_theirs.tga | Bin 1068 -> 0 bytes .../textures/ff_edit_theirs_button.tga | Bin 4140 -> 0 bytes .../textures/ff_online_status_button.tga | Bin 4140 -> 0 bytes .../skins/default/textures/ff_visible_map.tga | Bin 812 -> 0 bytes .../textures/ff_visible_map_button.tga | Bin 4140 -> 0 bytes .../default/textures/ff_visible_online.tga | Bin 1068 -> 0 bytes .../textures/ff_visible_online_button.tga | Bin 4140 -> 0 bytes .../skins/default/textures/see_me_online.png | Bin 0 -> 330 bytes .../skins/default/textures/see_on_map.png | Bin 0 -> 613 bytes .../skins/default/textures/textures.xml | 8 +-- .../default/xui/en/panel_avatar_list_item.xml | 59 ++++++++++-------- 17 files changed, 51 insertions(+), 46 deletions(-) create mode 100644 indra/newview/skins/default/textures/edit_mine.png create mode 100644 indra/newview/skins/default/textures/edit_theirs.png delete mode 100644 indra/newview/skins/default/textures/ff_edit_mine.tga delete mode 100644 indra/newview/skins/default/textures/ff_edit_mine_button.tga delete mode 100644 indra/newview/skins/default/textures/ff_edit_theirs.tga delete mode 100644 indra/newview/skins/default/textures/ff_edit_theirs_button.tga delete mode 100644 indra/newview/skins/default/textures/ff_online_status_button.tga delete mode 100644 indra/newview/skins/default/textures/ff_visible_map.tga delete mode 100644 indra/newview/skins/default/textures/ff_visible_map_button.tga delete mode 100644 indra/newview/skins/default/textures/ff_visible_online.tga delete mode 100644 indra/newview/skins/default/textures/ff_visible_online_button.tga create mode 100644 indra/newview/skins/default/textures/see_me_online.png create mode 100644 indra/newview/skins/default/textures/see_on_map.png diff --git a/indra/newview/llavatarlistitem.cpp b/indra/newview/llavatarlistitem.cpp index 8fc4ad6763..06ac189cbd 100644 --- a/indra/newview/llavatarlistitem.cpp +++ b/indra/newview/llavatarlistitem.cpp @@ -449,20 +449,20 @@ void LLAvatarListItem::initChildrenWidths(LLAvatarListItem* avatar_item) //info btn width + padding S32 info_btn_width = avatar_item->mProfileBtn->getRect().mLeft - avatar_item->mInfoBtn->getRect().mLeft; - // edit their objects permission icon width + padding - S32 permission_edit_theirs_width = avatar_item->mInfoBtn->getRect().mLeft - avatar_item->mIconPermissionEditTheirs->getRect().mLeft; - - // edit my objects permission icon width + padding - S32 permission_edit_mine_width = avatar_item->mIconPermissionEditTheirs->getRect().mLeft - avatar_item->mIconPermissionEditMine->getRect().mLeft; + // online permission icon width + padding + S32 permission_online_width = avatar_item->mInfoBtn->getRect().mLeft - avatar_item->mIconPermissionOnline->getRect().mLeft; // map permission icon width + padding - S32 permission_map_width = avatar_item->mIconPermissionEditMine->getRect().mLeft - avatar_item->mIconPermissionMap->getRect().mLeft; + S32 permission_map_width = avatar_item->mIconPermissionOnline->getRect().mLeft - avatar_item->mIconPermissionMap->getRect().mLeft; - // online permission icon width + padding - S32 permission_online_width = avatar_item->mIconPermissionMap->getRect().mLeft - avatar_item->mIconPermissionOnline->getRect().mLeft; + // edit my objects permission icon width + padding + S32 permission_edit_mine_width = avatar_item->mIconPermissionMap->getRect().mLeft - avatar_item->mIconPermissionEditMine->getRect().mLeft; + + // edit their objects permission icon width + padding + S32 permission_edit_theirs_width = avatar_item->mIconPermissionEditMine->getRect().mLeft - avatar_item->mIconPermissionEditTheirs->getRect().mLeft; // last interaction time textbox width + padding - S32 last_interaction_time_width = avatar_item->mIconPermissionOnline->getRect().mLeft - avatar_item->mLastInteractionTime->getRect().mLeft; + S32 last_interaction_time_width = avatar_item->mIconPermissionEditTheirs->getRect().mLeft - avatar_item->mLastInteractionTime->getRect().mLeft; // avatar icon width + padding S32 icon_width = avatar_item->mAvatarName->getRect().mLeft - avatar_item->mAvatarIcon->getRect().mLeft; @@ -474,10 +474,10 @@ void LLAvatarListItem::initChildrenWidths(LLAvatarListItem* avatar_item) sChildrenWidths[--index] = icon_width; sChildrenWidths[--index] = 0; // for avatar name we don't need its width, it will be calculated as "left available space" sChildrenWidths[--index] = last_interaction_time_width; - sChildrenWidths[--index] = permission_online_width; - sChildrenWidths[--index] = permission_map_width; - sChildrenWidths[--index] = permission_edit_mine_width; sChildrenWidths[--index] = permission_edit_theirs_width; + sChildrenWidths[--index] = permission_edit_mine_width; + sChildrenWidths[--index] = permission_map_width; + sChildrenWidths[--index] = permission_online_width; sChildrenWidths[--index] = info_btn_width; sChildrenWidths[--index] = profile_btn_width; sChildrenWidths[--index] = speaking_indicator_width; diff --git a/indra/newview/llavatarlistitem.h b/indra/newview/llavatarlistitem.h index ffb988b2ab..52187284eb 100644 --- a/indra/newview/llavatarlistitem.h +++ b/indra/newview/llavatarlistitem.h @@ -143,10 +143,10 @@ private: ALIC_SPEAKER_INDICATOR, ALIC_PROFILE_BUTTON, ALIC_INFO_BUTTON, - ALIC_PERMISSION_EDIT_THEIRS, - ALIC_PERMISSION_EDIT_MINE, - ALIC_PERMISSION_MAP, ALIC_PERMISSION_ONLINE, + ALIC_PERMISSION_MAP, + ALIC_PERMISSION_EDIT_MINE, + ALIC_PERMISSION_EDIT_THEIRS, ALIC_INTERACTION_TIME, ALIC_NAME, ALIC_ICON, diff --git a/indra/newview/skins/default/textures/edit_mine.png b/indra/newview/skins/default/textures/edit_mine.png new file mode 100644 index 0000000000000000000000000000000000000000..a0bc7efd255dbc817b342b922ddb5d3904df9ec8 GIT binary patch literal 639 zcmV-_0)YLAP)l}b=36rgi05=zqc zc_b3KI2BIjkZ6@?q9FNB$R)DfZwOVE6VKf@?y;iGv zRH;q3r3@n8#@)419Mof*Mmxf zTrTHpX5vjlZ?6C80Qtdt&eHwUF68rhbUK~cf3w;AD=;0&WzcE0&=P50_&N5v*=(LO z@m8>b@pwGgcDs2OrU(Xu@caEJl26%ec22-Sd_z293wH7O{{F4vEF)&D!{PWMET(^Q zdTOW7@!`S2E4SONTrp=Kgk|-Y%jE|@uCGr9lJtVk2sWGTo84~zO5M4l@K0imc=20+ Z0RXXA)^k?4TQL9t002ovPDHLkV1kP|C@ug1 literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/edit_theirs.png b/indra/newview/skins/default/textures/edit_theirs.png new file mode 100644 index 0000000000000000000000000000000000000000..ed36ad7cfcec78f3d68bed969ea720e05d94ad1d GIT binary patch literal 634 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 OUN_tls14P~?EVDG3cXJN diff --git a/indra/newview/skins/default/textures/ff_edit_theirs.tga b/indra/newview/skins/default/textures/ff_edit_theirs.tga deleted file mode 100644 index 005ada2deaa121415d9115313ce1d03d456ee789..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1068 zcmai!ZAep57{||E)JRdc%nAvVVTm{q8LLg5o3uA_x7^gkUW^ulk{~mKD6$WRAN&v$ z#QG3M5khFAK4gW$a#m7Nuq+6nh_Lm7FkdQy+`oGcJD0m*b>Yu*&%Mv@|2*e8mrIC} z@GGC>lj2nx0tJ`Da`U1}mH9g-HxIhaLaQJvHe7g_ADYT%r!G+AMEV!)q z`bCydzQGt1j5Rid!cp9wnEtPZMyF7{r54HB#8wl$cJx#~dIy5AIXzgnp$O`X45<%; z$%5d}-4x&L-geF_Oce{}x~&7l>kBJmReBvxb~S_c{A28R=Jd*Xq9IWTknmkk2_Ohcf9} efs^+`?cJ@P%|-2>_>^OSBLQ+%%rus_+!L% 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 HT;cOCH1=Iz diff --git a/indra/newview/skins/default/textures/ff_visible_online.tga b/indra/newview/skins/default/textures/ff_visible_online.tga deleted file mode 100644 index 74e3a4e318faa0df3f26da33eed29bbf5a10f326..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1068 zcmb`HZAep57{{-zB5~o0UW`>Z5C(%}WEiCs8z_#&D!0^LZYzn!ae5V9|?n!NA@Y*!0$og*X{q+LY#=&U4|)kf1Lf_;b&B&j0s6oEI)d zEu!S6qEuA*G60|!Qn_4C(cj-sH#9VaG#X6;g?+63Zyle{cSNC3!2vvrS*n;Xn0Ih@H*I=L@zSP%JO=>?&9L&%*jUm&u6Dp z@SG@UF9NQ;3ex-t3|=sR!>~>yo-BH04&O^Em0F2ovZswMSKE!Xt4e?E->S;C)h?Mm zQL}iqscQN3niVC#osMID{PX_D@v_a3s}SRVHn0UpDoN0MNt_D1opaIuImnmqZj3LI&b>@ejDz& d(7OhAn=cjuh{`~LHv zyJvP)s%|Rx)lVhAyw}&&a3f;N>N;i>PbM~EEZONMGR?{VXb7ip|L^zQ{|tFQ{z`PU zpMR$Ry68ye&Yg?dY$iB3nBKj6D={$f{|%9UQt6={t0r;B2N<&!$f)QO^r=_`~7*&eBQ{%OCFIPk#5<)JZNT7q~DO z4CLkI(a_LU{)Fj4ye0&HC3!|l_g-e$% zDva}I+xSTC``#IS_-1)5XJ3iqjVDJiG5UVe#`dMYNX-{jquEh-7q1#sG)^Bx`$t>g z;(3K3Sb{0oUHL;oLWqirqO!7*<0sk`f5%rX>|3H^|Llk4wd*)iqhWIV!`$wDGdFpu z(1-Z2CbJjo%_`PPD&CsfpQGCs$hkjry#18I5=_DF%KzNlG79qZ2@DKmenpjB!!b@B ze48&{GID5MFkii><&y>DNq@W_H{a9^@9y2vg!)sPJCqF$Up6Frv3=?T9NJbv+u?mw zEL^Iv1XHlP@@L!An3Ow#qM{;(t3%0i<|T<=X4@^iGwne>Z>l5PX(M!Gn8FfF!S2d0#Y(r#sy*^5`@{odg0$X;N9FcpO@!PuHHC)S|=d?4Ur1*+6E6ZlVY)t0yk!n(+hLaIH z1Y5#L(sgQV5szRPHzcEyCT2YO1cK>yi~F_wt_c~;Dt!v8DFw4Z zkG<3RE%NQgc$`ir&Wud#$#GY(#kj+gLaG!`szKuES*2HvU&}A@ofac@s|Bt64C(c9 z?{%817-F8MNYce%NJ=6yG7?kDWme~TUHQd)hrI4Ixd(-Xg$xV~;_jY)a`dE6pT3Mx z4<|vZkt2qYp=$c~>#vN7IROLwak*S1C+e}K8a&q6+26T7_h*MCmD18u1`i&L{LcX| zFE4z3eew7AN3B*X5fBi7pP!#HCgzCG#l^)~Q#`u`+wIqcd;b0D_Wxb?|NWQ$|J=y_ j3-^EBFTO7~IApy_m8egOFhonyak_!V$mrOJL8@N>a(t!v diff --git a/indra/newview/skins/default/textures/see_me_online.png b/indra/newview/skins/default/textures/see_me_online.png new file mode 100644 index 0000000000000000000000000000000000000000..52dc2ae74f5f8b10216d31e7c67a577a6207d941 GIT binary patch literal 330 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5X-gvq=hE&{2`t$$4J+o><9;V%p< a5)8X-++4RvK5hZ}o59o7&t;ucLK6VVV|7>n literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/see_on_map.png b/indra/newview/skins/default/textures/see_on_map.png new file mode 100644 index 0000000000000000000000000000000000000000..200e64981883774fc8a59c8c7cc0cafbc9b8489a GIT binary patch literal 613 zcmV-r0-F7aP)fngqdpw?(Fe@MkzTUO&{^?Hu{lM{4xYEu89r$fXudc7Vsn}1pjzM3AF8JyANa_P|woWU^~ z1b7Y<3WaRnW&MQiZ|>;f=Px>|9>|pACttx4u%uWd60t>EtritOd?wZRg8P@@U)&X# z&ga_9WHNPF3y`8HluD&28jVsQ5U`WO;cy$FZ*ahcog@FmQmMp)+d%JG*g9+tZ3yJSehV-FR+t`eIL#$v00000NkvXXu0mjfCaxO0 literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index 273531f9b2..2776c07202 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -360,10 +360,10 @@ with the same filename but different name - - - - + + + + diff --git a/indra/newview/skins/default/xui/en/panel_avatar_list_item.xml b/indra/newview/skins/default/xui/en/panel_avatar_list_item.xml index b385654010..6f3629cc8f 100644 --- a/indra/newview/skins/default/xui/en/panel_avatar_list_item.xml +++ b/indra/newview/skins/default/xui/en/panel_avatar_list_item.xml @@ -19,6 +19,11 @@ [COUNT]mon [COUNT]y + + right="-129" + name="permission_edit_theirs_icon" + tool_tip="You can edit this friend's objects" + top="4" + width="16" /> + + width="16" /> - + width="16" /> @@ -176,7 +176,7 @@ layout="topleft" top_pad="8" name="check_none" - width="70" > + width="115" > @@ -199,10 +199,11 @@ length="1" follows="left|top" layout="topleft" - height="16" + height="28" left="10" name="GroupLabel" - width="88"> + width="92" + word_wrap="true"> Group: + width="92" /> + width="92" + word_wrap="true"> Anyone: + width="92" /> + left="189" + width="92" + word_wrap="true"> Next owner: + width="92" /> + width="92"> @@ -274,7 +277,7 @@ layout="topleft" name="next_owner_transfer" tool_tip="Next owner can give away or resell this object" - width="106" /> + width="92" /> diff --git a/indra/newview/skins/default/xui/pl/floater_bulk_perms.xml b/indra/newview/skins/default/xui/pl/floater_bulk_perms.xml index 0f49061002..1c24e0b35e 100644 --- a/indra/newview/skins/default/xui/pl/floater_bulk_perms.xml +++ b/indra/newview/skins/default/xui/pl/floater_bulk_perms.xml @@ -30,8 +30,8 @@ -