diff options
Diffstat (limited to 'indra')
| -rwxr-xr-x | indra/newview/app_settings/shaders/class1/deferred/diffuseSkinnedV.glsl | 2 | ||||
| -rwxr-xr-x | indra/newview/llappearancemgr.cpp | 12 | ||||
| -rwxr-xr-x | indra/newview/llavataractions.cpp | 2 | ||||
| -rwxr-xr-x | indra/newview/lldrawpoolavatar.cpp | 11 | ||||
| -rwxr-xr-x | indra/newview/llface.cpp | 2 | ||||
| -rwxr-xr-x | indra/newview/llfloaterimcontainer.cpp | 20 | ||||
| -rwxr-xr-x | indra/newview/llfloatersidepanelcontainer.cpp | 4 | ||||
| -rwxr-xr-x | indra/newview/llfloatersidepanelcontainer.h | 2 | ||||
| -rwxr-xr-x | indra/newview/llinventorybridge.cpp | 2 | ||||
| -rwxr-xr-x | indra/newview/llinventoryfunctions.cpp | 2 | ||||
| -rwxr-xr-x | indra/newview/llpaneleditwearable.cpp | 8 | ||||
| -rwxr-xr-x | indra/newview/llpreviewscript.cpp | 3 | ||||
| -rwxr-xr-x | indra/newview/llpreviewscript.h | 3 | ||||
| -rwxr-xr-x | indra/newview/llviewerparcelmgr.cpp | 12 | ||||
| -rwxr-xr-x | indra/newview/llviewerparcelmgr.h | 1 | ||||
| -rwxr-xr-x | indra/newview/skins/default/xui/en/menu_conversation.xml | 1 | 
16 files changed, 72 insertions, 15 deletions
| diff --git a/indra/newview/app_settings/shaders/class1/deferred/diffuseSkinnedV.glsl b/indra/newview/app_settings/shaders/class1/deferred/diffuseSkinnedV.glsl index a74290bfcd..2487110624 100755 --- a/indra/newview/app_settings/shaders/class1/deferred/diffuseSkinnedV.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/diffuseSkinnedV.glsl @@ -40,7 +40,7 @@ mat4 getObjectSkinnedTransform();  void main()  {  	vary_texcoord0 = (texture_matrix0 * vec4(texcoord0,0,1)).xy; -	 +		  	mat4 mat = getObjectSkinnedTransform();  	mat = modelview_matrix * mat; diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index da1609297e..415cefb5a9 100755 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -1431,6 +1431,18 @@ void LLAppearanceMgr::takeOffOutfit(const LLUUID& cat_id)  		uuids_to_remove.push_back(item->getUUID());  	}  	removeItemsFromAvatar(uuids_to_remove); + +	// now deactivating all gestures in that folder +	LLInventoryModel::item_array_t gest_items; +	getDescendentsOfAssetType(cat_id, gest_items, LLAssetType::AT_GESTURE, false); +	for (S32 i = 0; i < gest_items.count(); ++i) +	{ +		LLViewerInventoryItem *gest_item = gest_items.get(i); +		if (LLGestureMgr::instance().isGestureActive(gest_item->getLinkedUUID())) +		{ +			LLGestureMgr::instance().deactivateGesture(gest_item->getLinkedUUID()); +		} +	}  }  // Create a copy of src_id + contents as a subfolder of dst_id. diff --git a/indra/newview/llavataractions.cpp b/indra/newview/llavataractions.cpp index 70cc48f12b..3fa50360cb 100755 --- a/indra/newview/llavataractions.cpp +++ b/indra/newview/llavataractions.cpp @@ -373,7 +373,7 @@ void LLAvatarActions::showOnMap(const LLUUID& id)  	}  	gFloaterWorldMap->trackAvatar(id, av_name.getDisplayName()); -	LLFloaterReg::showInstance("world_map"); +	LLFloaterReg::showInstance("world_map", "center");  }  // static diff --git a/indra/newview/lldrawpoolavatar.cpp b/indra/newview/lldrawpoolavatar.cpp index 24f467f954..716243b381 100755 --- a/indra/newview/lldrawpoolavatar.cpp +++ b/indra/newview/lldrawpoolavatar.cpp @@ -1517,6 +1517,17 @@ void LLDrawPoolAvatar::getRiggedGeometry(LLFace* face, LLPointer<LLVertexBuffer>  		face->setPoolType(LLDrawPool::POOL_AVATAR);  	} +	//let getGeometryVolume know if a texture matrix is in play +	if (face->mTextureMatrix) +	{ +		face->setState(LLFace::TEXTURE_ANIM); +	} +	else +	{ +		face->clearState(LLFace::TEXTURE_ANIM); +	} + +  	//llinfos << "Rebuilt face " << face->getTEOffset() << " of " << face->getDrawable() << " at " << gFrameTimeSeconds << llendl;  	face->getGeometryVolume(*volume, face->getTEOffset(), mat_vert, mat_normal, offset, true); diff --git a/indra/newview/llface.cpp b/indra/newview/llface.cpp index ae62be0ad0..d69c185a2b 100755 --- a/indra/newview/llface.cpp +++ b/indra/newview/llface.cpp @@ -1638,7 +1638,7 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume,  					do_xform = false;  				} -				if (getVirtualSize() >= MIN_TEX_ANIM_SIZE) +				if (getVirtualSize() >= MIN_TEX_ANIM_SIZE || isState(LLFace::RIGGED))  				{ //don't override texture transform during tc bake  					tex_mode = 0;  				} diff --git a/indra/newview/llfloaterimcontainer.cpp b/indra/newview/llfloaterimcontainer.cpp index bb4b9d2d40..5e59460b30 100755 --- a/indra/newview/llfloaterimcontainer.cpp +++ b/indra/newview/llfloaterimcontainer.cpp @@ -1271,6 +1271,22 @@ bool LLFloaterIMContainer::enableContextMenuItem(const LLSD& userdata)  	uuid_vec_t uuids;  	getParticipantUUIDs(uuids); + +	//If there is group or ad-hoc chat in multiselection, everything needs to be disabled +	if(uuids.size() > 1) +	{ +		const std::set<LLFolderViewItem*> selectedItems = mConversationsRoot->getSelectionList(); +		LLConversationItem * conversationItem; +		for(std::set<LLFolderViewItem*>::const_iterator it = selectedItems.begin(); it != selectedItems.end(); ++it) +		{ +			conversationItem = static_cast<LLConversationItem *>((*it)->getViewModelItem()); +			if((conversationItem->getType() == LLConversationItem::CONV_SESSION_GROUP) || (conversationItem->getType() == LLConversationItem::CONV_SESSION_AD_HOC)) +			{ +				return false; +			} +		} +	} +  	if ("conversation_log" == item)  	{  		return gSavedPerAccountSettings.getS32("KeepConversationLogTranscripts") > 0; @@ -1376,6 +1392,10 @@ bool LLFloaterIMContainer::enableContextMenuItem(const std::string& item, uuid_v      {          return LLAvatarActions::canCall();      } +    else if ("can_open_voice_conversation" == item) +    { +    	return is_single_select && LLAvatarActions::canCall(); +    }  	else if ("can_zoom_in" == item)  	{  		return is_single_select && gObjectList.findObject(single_id); diff --git a/indra/newview/llfloatersidepanelcontainer.cpp b/indra/newview/llfloatersidepanelcontainer.cpp index c5248719e9..aee20ff706 100755 --- a/indra/newview/llfloatersidepanelcontainer.cpp +++ b/indra/newview/llfloatersidepanelcontainer.cpp @@ -57,7 +57,7 @@ void LLFloaterSidePanelContainer::onOpen(const LLSD& key)  	getChild<LLPanel>(sMainPanelName)->onOpen(key);  } -void LLFloaterSidePanelContainer::onClickCloseBtn(bool) +void LLFloaterSidePanelContainer::closeFloater(bool app_quitting)  {  	LLPanelOutfitEdit* panel_outfit_edit =  		dynamic_cast<LLPanelOutfitEdit*>(LLFloaterSidePanelContainer::getPanel("appearance", "panel_outfit_edit")); @@ -75,7 +75,7 @@ void LLFloaterSidePanelContainer::onClickCloseBtn(bool)  		}  	} -	LLFloater::onClickCloseBtn(); +	LLFloater::closeFloater(app_quitting);  }  LLPanel* LLFloaterSidePanelContainer::openChildPanel(const std::string& panel_name, const LLSD& params) diff --git a/indra/newview/llfloatersidepanelcontainer.h b/indra/newview/llfloatersidepanelcontainer.h index 65ec8f604e..cb5956e4ef 100755 --- a/indra/newview/llfloatersidepanelcontainer.h +++ b/indra/newview/llfloatersidepanelcontainer.h @@ -51,7 +51,7 @@ public:  	/*virtual*/ void onOpen(const LLSD& key); -	/*virtual*/ void onClickCloseBtn(bool app_quitting = false); +	/*virtual*/ void closeFloater(bool app_quitting = false);  	LLPanel* openChildPanel(const std::string& panel_name, const LLSD& params); diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index 101b16b027..75a4c22d33 100755 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -3241,7 +3241,7 @@ void LLFolderBridge::pasteFromClipboard()  			{  				if (move_is_into_current_outfit || move_is_into_outfit)  				{ -					if (can_move_to_outfit(item, move_is_into_current_outfit)) +					if (item && can_move_to_outfit(item, move_is_into_current_outfit))  					{  						dropToOutfit(item, move_is_into_current_outfit);  					} diff --git a/indra/newview/llinventoryfunctions.cpp b/indra/newview/llinventoryfunctions.cpp index f1a4889f5a..aa50795eb5 100755 --- a/indra/newview/llinventoryfunctions.cpp +++ b/indra/newview/llinventoryfunctions.cpp @@ -877,7 +877,7 @@ bool LLFindWearablesEx::operator()(LLInventoryCategory* cat, LLInventoryItem* it  	if (!vitem) return false;  	// Skip non-wearables. -	if (!vitem->isWearableType() && vitem->getType() != LLAssetType::AT_OBJECT) +	if (!vitem->isWearableType() && vitem->getType() != LLAssetType::AT_OBJECT && vitem->getType() != LLAssetType::AT_GESTURE)  	{  		return false;  	} diff --git a/indra/newview/llpaneleditwearable.cpp b/indra/newview/llpaneleditwearable.cpp index 0621cc8fad..7b50b3c7af 100755 --- a/indra/newview/llpaneleditwearable.cpp +++ b/indra/newview/llpaneleditwearable.cpp @@ -859,10 +859,8 @@ void LLPanelEditWearable::draw()  void LLPanelEditWearable::onClose()  { -	if ( isDirty() ) -	{ -		revertChanges(); -	} +	// any unsaved changes should be reverted at this point +	revertChanges();  }  void LLPanelEditWearable::setVisible(BOOL visible) @@ -950,7 +948,7 @@ void LLPanelEditWearable::onCommitSexChange()          gAgentAvatarp->updateSexDependentLayerSets( FALSE );          gAgentAvatarp->updateVisualParams(); - +        showWearable(mWearablePtr, TRUE, TRUE);          updateScrollingPanelUI();  } diff --git a/indra/newview/llpreviewscript.cpp b/indra/newview/llpreviewscript.cpp index 18bbf110f7..7ea62bb332 100755 --- a/indra/newview/llpreviewscript.cpp +++ b/indra/newview/llpreviewscript.cpp @@ -1191,7 +1191,7 @@ void LLScriptEdCore::onBtnSaveToFile( void* userdata )  	if( self->mSaveCallback )  	{  		LLFilePicker& file_picker = LLFilePicker::instance(); -		if( file_picker.getSaveFile( LLFilePicker::FFSAVE_SCRIPT ) ) +		if( file_picker.getSaveFile( LLFilePicker::FFSAVE_SCRIPT, self->mScriptName ) )  		{  			std::string filename = file_picker.getFirstFile();  			std::string scriptText=self->mEditor->getText(); @@ -1978,6 +1978,7 @@ void LLLiveLSLEditor::loadScriptText(LLVFS *vfs, const LLUUID &uuid, LLAssetType  	mScriptEd->setScriptText(LLStringExplicit(&buffer[0]), TRUE);  	mScriptEd->mEditor->makePristine(); +	mScriptEd->setScriptName(getItem()->getName());  } diff --git a/indra/newview/llpreviewscript.h b/indra/newview/llpreviewscript.h index 9fb0a4fb63..97187e055a 100755 --- a/indra/newview/llpreviewscript.h +++ b/indra/newview/llpreviewscript.h @@ -110,6 +110,8 @@ public:  	virtual bool	hasAccelerators() const { return true; } +	void 			setScriptName(const std::string& name){mScriptName = name;}; +  private:  	void		onBtnHelp();  	void		onBtnDynamicHelp(); @@ -132,6 +134,7 @@ protected:  private:  	std::string		mSampleText; +	std::string		mScriptName;  	LLTextEditor*	mEditor;  	void			(*mLoadCallback)(void* userdata);  	void			(*mSaveCallback)(void* userdata, BOOL close_after_save); diff --git a/indra/newview/llviewerparcelmgr.cpp b/indra/newview/llviewerparcelmgr.cpp index e361fad9de..04f02872f3 100755 --- a/indra/newview/llviewerparcelmgr.cpp +++ b/indra/newview/llviewerparcelmgr.cpp @@ -118,6 +118,7 @@ LLViewerParcelMgr::LLViewerParcelMgr()  	mHoverRequestResult(0),  	mHoverWestSouth(),  	mHoverEastNorth(), +	mTeleportInProgressPosition(),  	mRenderCollision(FALSE),  	mRenderSelection(TRUE),  	mCollisionBanned(0), @@ -1586,7 +1587,15 @@ void LLViewerParcelMgr::processParcelProperties(LLMessageSystem *msg, void **use  			if (instance->mTeleportInProgress)  			{  				instance->mTeleportInProgress = FALSE; -				instance->mTeleportFinishedSignal(gAgent.getPositionGlobal(), false); +				if(instance->mTeleportInProgressPosition.isNull()) +				{ +					//initial update +					instance->mTeleportFinishedSignal(gAgent.getPositionGlobal(), false); +				} +				else +				{ +					instance->mTeleportFinishedSignal(instance->mTeleportInProgressPosition, false); +				}  			}  		}  	} @@ -2495,6 +2504,7 @@ void LLViewerParcelMgr::onTeleportFinished(bool local, const LLVector3d& new_pos  		// Non-local teleport (inter-region or between different parcels of the same region).  		// The agent parcel data has not been updated yet.  		// Let's wait for the update and then emit the signal. +		mTeleportInProgressPosition = new_pos;  		mTeleportInProgress = TRUE;  	}  } diff --git a/indra/newview/llviewerparcelmgr.h b/indra/newview/llviewerparcelmgr.h index 9da49bb3f3..ee8d4778d9 100755 --- a/indra/newview/llviewerparcelmgr.h +++ b/indra/newview/llviewerparcelmgr.h @@ -336,6 +336,7 @@ private:  	LLDynamicArray<LLParcelObserver*> mObservers;  	BOOL						mTeleportInProgress; +	LLVector3d					mTeleportInProgressPosition;  	teleport_finished_signal_t	mTeleportFinishedSignal;  	teleport_failed_signal_t	mTeleportFailedSignal; diff --git a/indra/newview/skins/default/xui/en/menu_conversation.xml b/indra/newview/skins/default/xui/en/menu_conversation.xml index 31b1d091ee..f5a493c064 100755 --- a/indra/newview/skins/default/xui/en/menu_conversation.xml +++ b/indra/newview/skins/default/xui/en/menu_conversation.xml @@ -17,6 +17,7 @@       layout="topleft"       name="open_voice_conversation">          <on_click function="Avatar.DoToSelected" parameter="open_voice_conversation"/> +        <on_enable function="Avatar.EnableItem" parameter="can_open_voice_conversation"/>       </menu_item_call>	       <menu_item_call       label="Disconnect from voice" | 
