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 initializersmaster
parent
48b3ac20d9
commit
fbc0e795b1
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue