diff options
| -rw-r--r-- | indra/newview/llpanelgroup.cpp | 15 | ||||
| -rw-r--r-- | indra/newview/llpanelgroup.h | 7 | 
2 files changed, 13 insertions, 9 deletions
| diff --git a/indra/newview/llpanelgroup.cpp b/indra/newview/llpanelgroup.cpp index 1d447a22d7..23db7ad226 100644 --- a/indra/newview/llpanelgroup.cpp +++ b/indra/newview/llpanelgroup.cpp @@ -89,8 +89,8 @@ BOOL LLPanelGroupTab::postBuild()  LLPanelGroup::LLPanelGroup()  :	LLPanel(),  	LLGroupMgrObserver( LLUUID() ), -	mAllowEdit( TRUE ) -	,mShowingNotifyDialog(false) +	mSkipRefresh(FALSE), +	mShowingNotifyDialog(false)  {  	// Set up the factory callbacks.  	// Roles sub tabs @@ -168,7 +168,6 @@ BOOL LLPanelGroup::postBuild()  	button = getChild<LLButton>("btn_refresh");  	button->setClickedCallback(onBtnRefresh, this); -	button->setVisible(mAllowEdit);  	getChild<LLButton>("btn_create")->setVisible(false); @@ -492,7 +491,12 @@ bool LLPanelGroup::apply(LLPanelGroupTab* tab)  	std::string apply_mesg;  	if(tab->apply( apply_mesg ) ) +	{ +		//we skip refreshing group after ew manually apply changes since its very annoying +		//for those who are editing group +		mSkipRefresh = TRUE;  		return true; +	}  	if ( !apply_mesg.empty() )  	{ @@ -539,6 +543,11 @@ void LLPanelGroup::draw()  void LLPanelGroup::refreshData()  { +	if(mSkipRefresh) +	{ +		mSkipRefresh = FALSE; +		return; +	}  	LLGroupMgr::getInstance()->clearGroupData(getID());  	setGroupID(getID()); diff --git a/indra/newview/llpanelgroup.h b/indra/newview/llpanelgroup.h index 8c84695677..6e23eedffb 100644 --- a/indra/newview/llpanelgroup.h +++ b/indra/newview/llpanelgroup.h @@ -85,9 +85,6 @@ public:  	virtual void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE); -	void setAllowEdit(BOOL v) { mAllowEdit = v; } - -	  	static void refreshCreatedGroup(const LLUUID& group_id);  	static void showNotice(const std::string& subject, @@ -126,7 +123,7 @@ protected:  	LLTimer mRefreshTimer; -	BOOL mAllowEdit; +	BOOL mSkipRefresh;  	std::string mDefaultNeedsApplyMesg;  	std::string mWantApplyMesg; @@ -169,8 +166,6 @@ public:  	virtual BOOL isVisibleByAgent(LLAgent* agentp); -	void setAllowEdit(BOOL v) { mAllowEdit = v; } -  	virtual void setGroupID(const LLUUID& id) {mGroupID = id;};  	void notifyObservers() {}; | 
