diff options
| author | Richard Linden <none@none> | 2010-07-01 15:35:08 -0700 | 
|---|---|---|
| committer | Richard Linden <none@none> | 2010-07-01 15:35:08 -0700 | 
| commit | e21143ef5d40b03df3ee864566dadc4cde77cd74 (patch) | |
| tree | 1afc459d9c51a2d1a24e8359e4991f0ecb62a9e6 | |
| parent | 708c93165763d1192168498cdf7af172d144a203 (diff) | |
| parent | ff7a83323dbcb105899f75432403ca3037a2d612 (diff) | |
merge
| -rw-r--r-- | indra/llui/llloadingindicator.cpp | 3 | ||||
| -rw-r--r-- | indra/llui/llui.cpp | 1 | ||||
| -rw-r--r-- | indra/llui/lluictrlfactory.cpp | 20 | ||||
| -rw-r--r-- | indra/llui/lluictrlfactory.h | 5 | ||||
| -rw-r--r-- | indra/newview/llscrollingpanelparam.cpp | 4 | 
5 files changed, 23 insertions, 10 deletions
diff --git a/indra/llui/llloadingindicator.cpp b/indra/llui/llloadingindicator.cpp index f8b029e19c..2ad5c5a530 100644 --- a/indra/llui/llloadingindicator.cpp +++ b/indra/llui/llloadingindicator.cpp @@ -41,7 +41,8 @@  #include "lluictrlfactory.h"  #include "lluiimage.h" -static LLDefaultChildRegistry::Register<LLLoadingIndicator> r("loading_indicator"); +// registered in llui.cpp to avoid being left out by MS linker +//static LLDefaultChildRegistry::Register<LLLoadingIndicator> r("loading_indicator");  ///////////////////////////////////////////////////////////////////////////////  // LLLoadingIndicator::Data class diff --git a/indra/llui/llui.cpp b/indra/llui/llui.cpp index dff1cb93e7..7f9dca08d2 100644 --- a/indra/llui/llui.cpp +++ b/indra/llui/llui.cpp @@ -97,7 +97,6 @@ static LLDefaultChildRegistry::Register<LLFlyoutButton> register_flyout_button("  static LLDefaultChildRegistry::Register<LLSearchEditor> register_search_editor("search_editor");  // register other widgets which otherwise may not be linked in -static LLDefaultChildRegistry::Register<LLMenuButton> register_menu_button("menu_button");  static LLDefaultChildRegistry::Register<LLLoadingIndicator> register_loading_indicator("loading_indicator"); diff --git a/indra/llui/lluictrlfactory.cpp b/indra/llui/lluictrlfactory.cpp index 6b337e0d74..a46d961709 100644 --- a/indra/llui/lluictrlfactory.cpp +++ b/indra/llui/lluictrlfactory.cpp @@ -452,14 +452,22 @@ void LLUICtrlFactory::registerWidget(const std::type_info* widget_type, const st  {  	// associate parameter block type with template .xml file  	std::string* existing_tag = LLWidgetNameRegistry::instance().getValue(param_block_type); -	if (existing_tag != NULL && *existing_tag != tag) +	if (existing_tag != NULL)  	{ -		std::cerr << "Duplicate entry for T::Params, try creating empty param block in derived classes that inherit T::Params" << std::endl; -		// forcing crash here -		char* foo = 0; -		*foo = 1; +		if(*existing_tag != tag) +		{ +			std::cerr << "Duplicate entry for T::Params, try creating empty param block in derived classes that inherit T::Params" << std::endl; +			// forcing crash here +			char* foo = 0; +			*foo = 1; +		} +		else +		{ +			// widget already registered +			return; +		}  	} -	LLWidgetNameRegistry ::instance().defaultRegistrar().add(param_block_type, tag); +	LLWidgetNameRegistry::instance().defaultRegistrar().add(param_block_type, tag);  	// associate widget type with factory function  	LLDefaultWidgetRegistry::instance().defaultRegistrar().add(widget_type, creator_func);  	//FIXME: comment this in when working on schema generation diff --git a/indra/llui/lluictrlfactory.h b/indra/llui/lluictrlfactory.h index 7da96ffce3..c99acee48e 100644 --- a/indra/llui/lluictrlfactory.h +++ b/indra/llui/lluictrlfactory.h @@ -373,8 +373,9 @@ LLChildRegistry<DERIVED>::Register<T>::Register(const char* tag, LLWidgetCreator  	LLUICtrlFactory::instance().registerWidget(&typeid(T), &typeid(typename T::Params), &LLUICtrlFactory::createDefaultWidget<T>, tag);  	// since registry_t depends on T, do this in line here -	typedef typename T::child_registry_t registry_t; -	LLChildRegistryRegistry::instance().defaultRegistrar().add(&typeid(T), registry_t::instance()); +	// TODO: uncomment this for schema generation +	//typedef typename T::child_registry_t registry_t; +	//LLChildRegistryRegistry::instance().defaultRegistrar().add(&typeid(T), registry_t::instance());  } diff --git a/indra/newview/llscrollingpanelparam.cpp b/indra/newview/llscrollingpanelparam.cpp index 6f5238f0a1..36d581a41a 100644 --- a/indra/newview/llscrollingpanelparam.cpp +++ b/indra/newview/llscrollingpanelparam.cpp @@ -209,6 +209,7 @@ void LLScrollingPanelParam::onSliderMoved(LLUICtrl* ctrl, void* userdata)  	if (current_weight != new_weight )  	{  		self->mWearable->setVisualParamWeight( param->getID(), new_weight, FALSE ); +		self->mWearable->writeToAvatar();  		gAgentAvatarp->updateVisualParams();  	}  } @@ -298,6 +299,7 @@ void LLScrollingPanelParam::onHintHeldDown( LLVisualParamHint* hint )  				&& new_percent < slider->getMaxValue())  			{  				mWearable->setVisualParamWeight( hint->getVisualParam()->getID(), new_weight, FALSE); +				mWearable->writeToAvatar();  				gAgentAvatarp->updateVisualParams();  				slider->setValue( weightToPercent( new_weight ) ); @@ -330,6 +332,7 @@ void LLScrollingPanelParam::onHintMinMouseUp( void* userdata )  				&& new_percent < slider->getMaxValue())  			{  				self->mWearable->setVisualParamWeight(hint->getVisualParam()->getID(), new_weight, FALSE); +				self->mWearable->writeToAvatar();  				slider->setValue( self->weightToPercent( new_weight ) );  			}  		} @@ -363,6 +366,7 @@ void LLScrollingPanelParam::onHintMaxMouseUp( void* userdata )  					&& new_percent < slider->getMaxValue())  				{  					self->mWearable->setVisualParamWeight(hint->getVisualParam()->getID(), new_weight, FALSE); +					self->mWearable->writeToAvatar();  					slider->setValue( self->weightToPercent( new_weight ) );  				}  			}  | 
