From c2d844c972419e3bd90076f4e5ee6296007b0e6e Mon Sep 17 00:00:00 2001 From: Techwolf Lupindo Date: Mon, 16 Aug 2010 22:10:18 -0400 Subject: 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) -- cgit v1.2.3 From 1b27c4f9c762d68fae5b47dc08a31a2699ca9fe5 Mon Sep 17 00:00:00 2001 From: Techwolf Lupindo Date: Sun, 22 Aug 2010 19:20:29 -0400 Subject: SNOW-599/SNOW-747: Pulseaudio should be optional on Linux. --- doc/contributions.txt | 2 ++ indra/cmake/PulseAudio.cmake | 38 +++++++++++++++---------------- indra/media_plugins/webkit/CMakeLists.txt | 5 ++-- 3 files changed, 23 insertions(+), 22 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) +set(PULSEAUDIO ON CACHE BOOL "Build with PulseAudio support, if available.") - pkg_check_modules(PULSEAUDIO REQUIRED libpulse-mainloop-glib) +if (PULSEAUDIO) + 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 + 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! ) - # 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 (STANDALONE) +endif (PULSEAUDIO) if (PULSEAUDIO_FOUND) - set(PULSEAUDIO ON CACHE BOOL "Build with PulseAudio support, if available.") -endif (PULSEAUDIO_FOUND) - -if (PULSEAUDIO) add_definitions(-DLL_PULSEAUDIO_ENABLED=1) -endif (PULSEAUDIO) +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} -- cgit v1.2.3 From 02a4c4ac0d36318adc8dd6e7f0c46d236b9f39c6 Mon Sep 17 00:00:00 2001 From: Dessie Linden Date: Tue, 21 Sep 2010 13:51:40 -0700 Subject: 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"; -- cgit v1.2.3 From e8d1ddb22545fa2abc0400d7af64e82c79fffa95 Mon Sep 17 00:00:00 2001 From: "Nyx (Neal Orman)" Date: Wed, 22 Sep 2010 18:09:17 -0400 Subject: 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) -- cgit v1.2.3 From 45cebd19dd365dc1d921d06a33864872b682f448 Mon Sep 17 00:00:00 2001 From: Aimee Linden Date: Thu, 23 Sep 2010 12:13:43 +0100 Subject: 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 +-- indra/newview/skins/default/textures/edit_mine.png | Bin 0 -> 639 bytes .../newview/skins/default/textures/edit_theirs.png | Bin 0 -> 634 bytes .../skins/default/textures/ff_edit_mine.tga | Bin 1068 -> 0 bytes .../skins/default/textures/ff_edit_mine_button.tga | Bin 4140 -> 0 bytes .../skins/default/textures/ff_edit_theirs.tga | Bin 1068 -> 0 bytes .../default/textures/ff_edit_theirs_button.tga | Bin 4140 -> 0 bytes .../default/textures/ff_online_status_button.tga | Bin 4140 -> 0 bytes .../skins/default/textures/ff_visible_map.tga | Bin 812 -> 0 bytes .../default/textures/ff_visible_map_button.tga | Bin 4140 -> 0 bytes .../skins/default/textures/ff_visible_online.tga | Bin 1068 -> 0 bytes .../default/textures/ff_visible_online_button.tga | Bin 4140 -> 0 bytes .../skins/default/textures/see_me_online.png | Bin 0 -> 330 bytes .../newview/skins/default/textures/see_on_map.png | Bin 0 -> 613 bytes indra/newview/skins/default/textures/textures.xml | 8 +-- .../default/xui/en/panel_avatar_list_item.xml | 55 +++++++++++---------- 17 files changed, 49 insertions(+), 44 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 0000000000..a0bc7efd25 Binary files /dev/null and b/indra/newview/skins/default/textures/edit_mine.png differ 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 0000000000..ed36ad7cfc Binary files /dev/null and b/indra/newview/skins/default/textures/edit_theirs.png differ diff --git a/indra/newview/skins/default/textures/ff_edit_mine.tga b/indra/newview/skins/default/textures/ff_edit_mine.tga deleted file mode 100644 index 8f0c35b98f..0000000000 Binary files a/indra/newview/skins/default/textures/ff_edit_mine.tga and /dev/null differ diff --git a/indra/newview/skins/default/textures/ff_edit_mine_button.tga b/indra/newview/skins/default/textures/ff_edit_mine_button.tga deleted file mode 100644 index 07627a65c5..0000000000 Binary files a/indra/newview/skins/default/textures/ff_edit_mine_button.tga and /dev/null differ 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 005ada2dea..0000000000 Binary files a/indra/newview/skins/default/textures/ff_edit_theirs.tga and /dev/null differ diff --git a/indra/newview/skins/default/textures/ff_edit_theirs_button.tga b/indra/newview/skins/default/textures/ff_edit_theirs_button.tga deleted file mode 100644 index 798ef641d3..0000000000 Binary files a/indra/newview/skins/default/textures/ff_edit_theirs_button.tga and /dev/null differ diff --git a/indra/newview/skins/default/textures/ff_online_status_button.tga b/indra/newview/skins/default/textures/ff_online_status_button.tga deleted file mode 100644 index 9076df6b9e..0000000000 Binary files a/indra/newview/skins/default/textures/ff_online_status_button.tga and /dev/null differ diff --git a/indra/newview/skins/default/textures/ff_visible_map.tga b/indra/newview/skins/default/textures/ff_visible_map.tga deleted file mode 100644 index a4dad78dad..0000000000 Binary files a/indra/newview/skins/default/textures/ff_visible_map.tga and /dev/null differ diff --git a/indra/newview/skins/default/textures/ff_visible_map_button.tga b/indra/newview/skins/default/textures/ff_visible_map_button.tga deleted file mode 100644 index 8d13adee3f..0000000000 Binary files a/indra/newview/skins/default/textures/ff_visible_map_button.tga and /dev/null differ 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 74e3a4e318..0000000000 Binary files a/indra/newview/skins/default/textures/ff_visible_online.tga and /dev/null differ diff --git a/indra/newview/skins/default/textures/ff_visible_online_button.tga b/indra/newview/skins/default/textures/ff_visible_online_button.tga deleted file mode 100644 index 08a6cbedd9..0000000000 Binary files a/indra/newview/skins/default/textures/ff_visible_online_button.tga and /dev/null differ 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 0000000000..52dc2ae74f Binary files /dev/null and b/indra/newview/skins/default/textures/see_me_online.png differ 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 0000000000..200e649818 Binary files /dev/null and b/indra/newview/skins/default/textures/see_on_map.png differ 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" /> + width="16" />