--- src/ResMgr.cc.orig 2019-08-23 23:08:17.000000000 +0200 +++ src/ResMgr.cc 2020-01-14 17:32:33.475771000 +0100 @@ -86,6 +86,9 @@ const char *ResType::FindVar(const char *name,const Re const ResType *exact_name=0; int sub=0; + if(!types_by_name) + types_by_name=new xmap; + *type=types_by_name->lookup(name); if(*type) goto found; // exact match @@ -266,6 +269,10 @@ static int RefResourceCompare(const Ref *a,c char *ResType::Format(bool with_defaults,bool only_defaults) { RefArray created; + + if(!types_by_name) + types_by_name=new xmap; + if(with_defaults || only_defaults) { for(ResType *dscan=types_by_name->each_begin(); dscan; dscan=types_by_name->each_next()) @@ -301,6 +308,9 @@ char *ResType::Format(bool with_defaults,bool only_def char **ResType::Generator(void) { StringSet res; + + if(!types_by_name) + types_by_name=new xmap; for(ResType *dscan=types_by_name->each_begin(); dscan; dscan=types_by_name->each_next()) if(!dscan->IsAlias())