diff options
| author | Richard Linden <none@none> | 2010-04-27 16:08:56 -0700 | 
|---|---|---|
| committer | Richard Linden <none@none> | 2010-04-27 16:08:56 -0700 | 
| commit | fbc0e795b114ddbfb73cc62ce25a1e9a1cafacba (patch) | |
| tree | eae093fa71b3fbe7c6901fc3326785102627a65f | |
| parent | 48b3ac20d99e842b6d7adba63e9fa75a7d5cd82c (diff) | |
added empty param blocks to registered widgets that didn't have them
made LLDefaultChildRegistry::Register errors actually crash the client...llerrs doesn't work in static initializers
| -rw-r--r-- | indra/llui/llfloater.h | 4 | ||||
| -rw-r--r-- | indra/llui/lluictrlfactory.cpp | 5 | ||||
| -rw-r--r-- | indra/newview/llchiclet.h | 3 | 
3 files changed, 11 insertions, 1 deletions
diff --git a/indra/llui/llfloater.h b/indra/llui/llfloater.h index 403723d9d8..444711de81 100644 --- a/indra/llui/llfloater.h +++ b/indra/llui/llfloater.h @@ -432,11 +432,15 @@ private:  class LLFloaterView : public LLUICtrl  { +public: +	struct Params : public LLInitParam::Block<Params, LLUICtrl::Params>{}; +  protected:  	LLFloaterView (const Params& p);  	friend class LLUICtrlFactory;  public: +  	/*virtual*/ void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE);  	void reshapeFloater(S32 width, S32 height, BOOL called_from_parent, BOOL adjust_vertical); diff --git a/indra/llui/lluictrlfactory.cpp b/indra/llui/lluictrlfactory.cpp index 27237800d4..930dadc377 100644 --- a/indra/llui/lluictrlfactory.cpp +++ b/indra/llui/lluictrlfactory.cpp @@ -435,7 +435,10 @@ void LLUICtrlFactory::registerWidget(const std::type_info* widget_type, const st  	std::string* existing_tag = LLWidgetNameRegistry::instance().getValue(param_block_type);  	if (existing_tag != NULL && *existing_tag != tag)  	{ -		llerrs << "Duplicate entry for T::Params, try creating empty param block in derived classes that inherit T::Params" << llendl; +		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;  	}  	LLWidgetNameRegistry ::instance().defaultRegistrar().add(param_block_type, tag);  	// associate widget type with factory function diff --git a/indra/newview/llchiclet.h b/indra/newview/llchiclet.h index 489c66be71..9d421b4f0b 100644 --- a/indra/newview/llchiclet.h +++ b/indra/newview/llchiclet.h @@ -921,6 +921,9 @@ protected:  class LLNotificationChiclet : public LLSysWellChiclet  {  	friend class LLUICtrlFactory; +public: +	struct Params : public LLInitParam::Block<Params, LLSysWellChiclet::Params>{}; +  protected:  	LLNotificationChiclet(const Params& p);  | 
