From 6e9bf1c5dc62dcad90ab217647791fab56633f28 Mon Sep 17 00:00:00 2001 From: Loren Shih Date: Thu, 8 Jul 2010 15:01:30 -0400 Subject: EXT-8264 FIXED Object attached to an invalid attachment index shows avatar menu on right-click, as if it IS attached Objects attached to bad attachment point end up attached to chest by default so they're not hanging in space. --- indra/newview/llvoavatar.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'indra/newview') diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index 1954a573d4..844ad6ca2d 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -5723,6 +5723,7 @@ LLViewerJointAttachment* LLVOAvatar::getTargetAttachmentPoint(LLViewerObject* vi if (!attachment) { llwarns << "Object attachment point invalid: " << attachmentID << llendl; + attachment = get_if_there(mAttachmentPoints, 1, (LLViewerJointAttachment*)NULL); // Arbitrary using 1 (chest) } return attachment; -- cgit v1.2.3 From b67009415d1570fd7add3d5ac63e66d676f99984 Mon Sep 17 00:00:00 2001 From: Loren Shih Date: Thu, 8 Jul 2010 15:02:45 -0400 Subject: EXT-8269 FIXED "Copy and Wear" from in-world object doesn't wear bodyparts EXT-8139 FIXED "Copy and wear" when unboxing an outfit defaults to "add" instead of "replace items" Copy&Wear now takes off all inventory item before wearing new outfit. --- indra/newview/llinventorybridge.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index 9e7224d9b8..3669a7b5dd 100644 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -2054,7 +2054,7 @@ void LLInventoryCopyAndWearObserver::changed(U32 mask) mContentsCount) { gInventory.removeObserver(this); - LLAppearanceMgr::instance().wearInventoryCategory(category, FALSE, TRUE); + LLAppearanceMgr::instance().wearInventoryCategory(category, FALSE, FALSE); delete this; } } -- cgit v1.2.3 From 074157c1fe124e7a1bef61b1db01234a8603534b Mon Sep 17 00:00:00 2001 From: Loren Shih Date: Thu, 8 Jul 2010 17:46:36 -0400 Subject: EXT-8292 FIXED Folder wear options disabled in expanded menu on first right-click EXT-8261 FIXED 'Share' item is disabled in 'My Inventory' folder's context menu Items can now be appended to menus (versus menus being the most restrictive out of all the item choices). --- indra/newview/llinventorybridge.cpp | 57 +++++++++++++++++++++---------------- indra/newview/llinventorybridge.h | 6 +++- 2 files changed, 38 insertions(+), 25 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index 3669a7b5dd..1ddbaaa95f 100644 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -444,7 +444,8 @@ BOOL LLInvFVBridge::isClipboardPasteableAsLink() const void hide_context_entries(LLMenuGL& menu, const menuentry_vec_t &entries_to_show, - const menuentry_vec_t &disabled_entries) + const menuentry_vec_t &disabled_entries, + BOOL append) // If append is TRUE, then new enabled entries { const LLView::child_list_t *list = menu.getChildList(); @@ -501,6 +502,10 @@ void hide_context_entries(LLMenuGL& menu, // A bit of a hack so we can remember that some UI element explicitly set this to be visible // so that some other UI element from multi-select doesn't later set this invisible. menu_item->pushVisible(TRUE); + if (append) + { + menu_item->setEnabled(TRUE); + } for (itor2 = disabled_entries.begin(); itor2 != disabled_entries.end(); ++itor2) { if (*itor2 == name) @@ -2397,6 +2402,11 @@ void LLFolderBridge::folderOptionsMenu() const LLInventoryCategory* category = model->getCategory(mUUID); if(!category) return; + const LLUUID trash_id = model->findCategoryUUIDForType(LLFolderType::FT_TRASH); + if (trash_id == mUUID) return; + if (isItemInTrash()) return; + if (!isAgentInventory()) return; + LLFolderType::EType type = category->getPreferredType(); const bool is_system_folder = LLFolderType::lookupIsProtectedType(type); // BAP change once we're no longer treating regular categories as ensembles. @@ -2456,7 +2466,7 @@ void LLFolderBridge::folderOptionsMenu() } mItems.push_back(std::string("Outfit Separator")); } - hide_context_entries(*mMenu, mItems, disabled_items); + hide_context_entries(*mMenu, mItems, disabled_items, TRUE); // Reposition the menu, in case we're adding items to an existing menu. mMenu->needsArrange(); @@ -2580,28 +2590,6 @@ void LLFolderBridge::buildContextMenu(LLMenuGL& menu, U32 flags) mMenu = &menu; sSelf = this; - - - uuid_vec_t folders; - LLViewerInventoryCategory* category = (LLViewerInventoryCategory*)model->getCategory(mUUID); - if (category) - { - folders.push_back(category->getUUID()); - } - LLRightClickInventoryFetchDescendentsObserver* fetch = new LLRightClickInventoryFetchDescendentsObserver(folders, FALSE); - fetch->startFetch(); - inc_busy_count(); - if(fetch->isFinished()) - { - // everything is already here - call done. - fetch->done(); - } - else - { - // it's all on it's way - add an observer, and the inventory - // will call done for us when everything is here. - gInventory.addObserver(fetch); - } } // Preemptively disable system folder removal if more than one item selected. @@ -2623,6 +2611,27 @@ void LLFolderBridge::buildContextMenu(LLMenuGL& menu, U32 flags) } hide_context_entries(menu, mItems, mDisabledItems); + + // Add menu items that are dependent on the contents of the folder. + uuid_vec_t folders; + LLViewerInventoryCategory* category = (LLViewerInventoryCategory*)model->getCategory(mUUID); + if (category) + { + folders.push_back(category->getUUID()); + } + LLRightClickInventoryFetchDescendentsObserver* fetch = new LLRightClickInventoryFetchDescendentsObserver(folders, FALSE); + fetch->startFetch(); + inc_busy_count(); + if(fetch->isFinished()) + { + // everything is already here - call done. + fetch->done(); + } + else + { + // it's all on its way - add an observer, and the inventory will call done for us when everything is here. + gInventory.addObserver(fetch); + } } BOOL LLFolderBridge::hasChildren() const diff --git a/indra/newview/llinventorybridge.h b/indra/newview/llinventorybridge.h index 97e87c2f3b..9dc50b542d 100644 --- a/indra/newview/llinventorybridge.h +++ b/indra/newview/llinventorybridge.h @@ -603,8 +603,12 @@ BOOL move_inv_category_world_to_agent(const LLUUID& object_id, void* user_data = NULL); // Utility function to hide all entries except those in the list +// Can be called multiple times on the same menu (e.g. if multiple items +// are selected). If "append" is false, then only common enabled items +// are set as enabled. void hide_context_entries(LLMenuGL& menu, const menuentry_vec_t &entries_to_show, - const menuentry_vec_t &disabled_entries); + const menuentry_vec_t &disabled_entries, + BOOL append = FALSE); #endif // LL_LLINVENTORYBRIDGE_H -- cgit v1.2.3 From 9ae6672a15ae64dba1d2af774dcde26700fb6126 Mon Sep 17 00:00:00 2001 From: Loren Shih Date: Fri, 9 Jul 2010 10:19:02 -0400 Subject: EXT-8221 WIP Crash in LLGesture::notifyObservers Code cleanup for help with diagnosing this issue. --- indra/newview/llgesturemgr.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llgesturemgr.cpp b/indra/newview/llgesturemgr.cpp index 6ffd534a53..160dd0b959 100644 --- a/indra/newview/llgesturemgr.cpp +++ b/indra/newview/llgesturemgr.cpp @@ -1174,12 +1174,11 @@ void LLGestureMgr::notifyObservers() { lldebugs << "LLGestureMgr::notifyObservers" << llendl; - std::vector observers = mObservers; - - std::vector::iterator it; - for (it = observers.begin(); it != observers.end(); ++it) + for(std::vector::iterator iter = mObservers.begin(); + iter != mObservers.end(); + ++iter) { - LLGestureManagerObserver* observer = *it; + LLGestureManagerObserver* observer = (*iter); observer->changed(); } } -- cgit v1.2.3 From 75c1c70b2595ff28d41fb059b7fbce0234c975e7 Mon Sep 17 00:00:00 2001 From: Eli Linden Date: Fri, 9 Jul 2010 10:52:57 -0700 Subject: ND-47580 WIP FR linguistic --- indra/newview/skins/default/xui/fr/floater_pay.xml | 2 +- indra/newview/skins/default/xui/fr/floater_pay_object.xml | 2 +- indra/newview/skins/default/xui/fr/floater_snapshot.xml | 6 +++--- indra/newview/skins/default/xui/fr/menu_bottomtray.xml | 2 +- indra/newview/skins/default/xui/fr/menu_landmark.xml | 4 ++-- indra/newview/skins/default/xui/fr/menu_picks_plus.xml | 2 +- indra/newview/skins/default/xui/fr/menu_place.xml | 2 +- .../newview/skins/default/xui/fr/menu_places_gear_landmark.xml | 2 +- indra/newview/skins/default/xui/fr/notifications.xml | 2 +- indra/newview/skins/default/xui/fr/panel_group_land_money.xml | 2 +- indra/newview/skins/default/xui/fr/panel_group_notices.xml | 2 +- indra/newview/skins/default/xui/fr/panel_me.xml | 2 +- indra/newview/skins/default/xui/fr/panel_picks.xml | 2 +- .../skins/default/xui/fr/panel_preferences_graphics1.xml | 4 ++-- indra/newview/skins/default/xui/fr/panel_region_general.xml | 2 +- indra/newview/skins/default/xui/fr/role_actions.xml | 10 +++++----- 16 files changed, 24 insertions(+), 24 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/fr/floater_pay.xml b/indra/newview/skins/default/xui/fr/floater_pay.xml index 30e510efb5..06cc7df522 100644 --- a/indra/newview/skins/default/xui/fr/floater_pay.xml +++ b/indra/newview/skins/default/xui/fr/floater_pay.xml @@ -18,7 +18,7 @@