diff options
| -rw-r--r-- | indra/newview/llpanelavatar.cpp | 31 | 
1 files changed, 24 insertions, 7 deletions
| diff --git a/indra/newview/llpanelavatar.cpp b/indra/newview/llpanelavatar.cpp index f671d63557..9b1a6caf0e 100644 --- a/indra/newview/llpanelavatar.cpp +++ b/indra/newview/llpanelavatar.cpp @@ -829,14 +829,17 @@ void LLPanelAvatarClassified::enableControls(BOOL self)  BOOL LLPanelAvatarClassified::titleIsValid()  {  	LLTabContainerCommon* tabs = LLViewerUICtrlFactory::getTabContainerByName(this, "classified tab"); -	for (S32 i = 0; i < tabs->getTabCount(); i++) +	if ( tabs )  	{ -		LLPanelClassified* panel = (LLPanelClassified*)tabs->getPanelByIndex(i); -		if ( ! panel->titleIsValid() ) +		LLPanelClassified* panel = (LLPanelClassified*)tabs->getCurrentPanel(); +		if ( panel )  		{ -			return FALSE; -		} -	} +			if ( ! panel->titleIsValid() ) +			{ +				return FALSE; +			}; +		}; +	};  	return TRUE;  } @@ -1640,7 +1643,8 @@ void LLPanelAvatar::onClickOK(void *userdata)  	{  		self->sendAvatarPropertiesUpdate(); -		if ( self->mPanelClassified->titleIsValid() ) +		LLTabContainerCommon* tabs = LLUICtrlFactory::getTabContainerByName(self,"tab"); +		if ( tabs->getCurrentPanel() != self->mPanelClassified )  		{  			self->mPanelClassified->apply(); @@ -1650,6 +1654,19 @@ void LLPanelAvatar::onClickOK(void *userdata)  				infop->close();  			}  		} +		else +		{ +			if ( self->mPanelClassified->titleIsValid() ) +			{ +				self->mPanelClassified->apply(); + +				LLFloaterAvatarInfo *infop = LLFloaterAvatarInfo::getInstance(self->mAvatarID); +				if (infop) +				{ +					infop->close(); +				} +			} +		}  	}  } | 
