From 5d4959e3a107a6a40014528dd8e17e46bf128540 Mon Sep 17 00:00:00 2001 From: angela Date: Fri, 4 Dec 2009 22:25:12 +0800 Subject: EXT-2827 Unable to delete object when select face of object --- indra/newview/llselectmgr.cpp | 13 ++++++++++++- indra/newview/llviewermenu.cpp | 20 ++++++++++++++++++++ .../default/xui/en/floater_animation_preview.xml | 4 ++-- 3 files changed, 34 insertions(+), 3 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp index 1605838b94..c8b86118be 100644 --- a/indra/newview/llselectmgr.cpp +++ b/indra/newview/llselectmgr.cpp @@ -5753,8 +5753,19 @@ void LLSelectMgr::redo() //----------------------------------------------------------------------------- BOOL LLSelectMgr::canDoDelete() const { + bool can_delete = false; + LLViewerObject* obj = const_cast(this)->mSelectedObjects->getFirstDeleteableObject() ; // HACK: casting away constness - MG // Note: Can only delete root objects (see getFirstDeleteableObject() for more info) - return const_cast(this)->mSelectedObjects->getFirstDeleteableObject() != NULL; // HACK: casting away constness - MG + if (obj!= NULL) + { + // all the faces needs to be selected + if(const_cast(this)->mSelectedObjects->contains(obj,SELECT_ALL_TES )) + { + can_delete = true; + } + } + + return can_delete; } //----------------------------------------------------------------------------- diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 0b40492391..066395aedf 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -2422,6 +2422,12 @@ class LLObjectEnableReportAbuse : public view_listener_t bool handleEvent(const LLSD& userdata) { bool new_value = LLSelectMgr::getInstance()->getSelection()->getObjectCount() != 0; +/* // all the faces needs to be selected + if(LLSelectMgr::getInstance()->getSelection()->contains(LLSelectMgr::getInstance()->getSelection()->getPrimaryObject(),SELECT_ALL_TES )) + { + new_value = true; + } + */ return new_value; } }; @@ -2810,6 +2816,7 @@ BOOL enable_has_attachments(void*) bool enable_object_mute() { LLViewerObject* object = LLSelectMgr::getInstance()->getSelection()->getPrimaryObject(); + bool new_value = (object != NULL); if (new_value) { @@ -2822,6 +2829,19 @@ bool enable_object_mute() BOOL is_self = avatar->isSelf(); new_value = !is_linden && !is_self; } + else + { + if( LLSelectMgr::getInstance()->getSelection()->contains(object,SELECT_ALL_TES )) + { + new_value = true; + } + else + { + new_value = false; + } + + } + } return new_value; } diff --git a/indra/newview/skins/default/xui/en/floater_animation_preview.xml b/indra/newview/skins/default/xui/en/floater_animation_preview.xml index 4f4288b654..26ace7b617 100644 --- a/indra/newview/skins/default/xui/en/floater_animation_preview.xml +++ b/indra/newview/skins/default/xui/en/floater_animation_preview.xml @@ -525,7 +525,7 @@ Maximum animation length is [MAX_LENGTH] seconds. We recommend BVH files exported from Poser 4.