nsDependentString *alias = nsnull;
const nsDependentString *alias = nsnull;
static PRBool FindFontFamily(const nsString& aFamily, PRBool aGeneric, void *aData){  PRBool retval = PR_TRUE;  #ifdef DEBUG//   printf("trying to instantiate font %s, generic=%d\n", NS_ConvertUCS2toUTF8(aFamily).get(),//          aGeneric);#endif    FontFamily *family = nsnull;  if (!aGeneric)    family = new FontFamily(aFamily.get());  else {    PRUint8 id;    nsFont::GetGenericID(aFamily, &id);    switch (id) {      case kGenericFont_serif:        family = FontFamily::GenericSerif()->Clone();        break;      case kGenericFont_monospace:        family = FontFamily::GenericMonospace()->Clone();        break;      case kGenericFont_sans_serif:      default:        family = FontFamily::GenericSansSerif()->Clone();        break;    }  }  if (family->IsAvailable()) {    retval = PR_FALSE; // break    *(FontFamily**)aData = family;  }  else {    delete family;        //try alias if there is one:    nsDependentString *alias = nsnull;    nsAutoString canonical_name(aFamily);    ToLowerCase(canonical_name);    nsSVGGDIPlusGlyphMetrics::sFontAliases.Get(canonical_name, &alias);    if (alias) {      // XXX this might cause a stack-overflow if there are cyclic      // aliases in sFontAliases      retval = FindFontFamily(nsString(*alias), PR_FALSE, aData);    }  }  return retval;}