diff options
Diffstat (limited to 'indra/newview')
| -rw-r--r-- | indra/newview/llpreview.h | 2 | ||||
| -rw-r--r-- | indra/newview/llpreviewanim.cpp | 22 | ||||
| -rw-r--r-- | indra/newview/llpreviewanim.h | 12 | 
3 files changed, 22 insertions, 14 deletions
diff --git a/indra/newview/llpreview.h b/indra/newview/llpreview.h index b41aa2be1a..9ac15d1639 100644 --- a/indra/newview/llpreview.h +++ b/indra/newview/llpreview.h @@ -104,7 +104,7 @@ public:  	// llview  	/*virtual*/ void draw(); -	void refreshFromItem(); +	virtual void refreshFromItem();  	// We can't modify Item or description in preview if either in-world Object  	// or Item  itself is unmodifiable diff --git a/indra/newview/llpreviewanim.cpp b/indra/newview/llpreviewanim.cpp index d29609fc1e..97f1dcd5d0 100644 --- a/indra/newview/llpreviewanim.cpp +++ b/indra/newview/llpreviewanim.cpp @@ -53,13 +53,6 @@ LLPreviewAnim::LLPreviewAnim(const LLSD& key)  // virtual  BOOL LLPreviewAnim::postBuild()  { -	const LLInventoryItem* item = getItem(); -	if(item) -	{ -		pMotion = gAgentAvatarp->createMotion(item->getAssetUUID()); // preload the animation -		getChild<LLUICtrl>("desc")->setValue(item->getDescription()); -	} -  	childSetCommitCallback("desc", LLPreview::onText, this);  	getChild<LLLineEditor>("desc")->setPrevalidate(&LLTextValidate::validateASCIIPrintableNoPipe);  	getChild<LLTextBox>("adv_trigger")->setClickedCallback(boost::bind(&LLPreviewAnim::showAdvanced, this)); @@ -73,7 +66,6 @@ BOOL LLPreviewAnim::postBuild()  	return LLPreview::postBuild();  } -// static  // llinventorybridge also calls into here  void LLPreviewAnim::play(const LLSD& param)  { @@ -171,6 +163,20 @@ void LLPreviewAnim::draw()  }  // virtual +void LLPreviewAnim::refreshFromItem() +{ +    const LLInventoryItem* item = getItem(); +    if (!item) +    { +        return; +    } + +    // Preload motion +    pMotion = gAgentAvatarp->createMotion(item->getAssetUUID()); + +    LLPreview::refreshFromItem(); +} +  void LLPreviewAnim::cleanup()  {  	this->mItemID = LLUUID::null; diff --git a/indra/newview/llpreviewanim.h b/indra/newview/llpreviewanim.h index ebeee367f7..14cd53b500 100644 --- a/indra/newview/llpreviewanim.h +++ b/indra/newview/llpreviewanim.h @@ -38,16 +38,18 @@ class LLPreviewAnim : public LLPreview  public:  	LLPreviewAnim(const LLSD& key); -	/*virtual*/	BOOL postBuild(); -	/*virtual*/ void onClose(bool app_quitting); -	void draw(); -	void cleanup(); +	BOOL postBuild() override; +	void onClose(bool app_quitting) override; +	void draw() override; +	void refreshFromItem() override; + +	void cleanup(); // cleanup 'playing' state  	void play(const LLSD& param);  	void showAdvanced();  protected: -	LLUUID	mItemID; +	LLUUID	mItemID; // Not an item id, but a playing asset id  	bool	mDidStart;  	LLMotion* pMotion;  	LLTextBox* pAdvancedStatsTextBox;  | 
