зеркало из https://github.com/mozilla/gecko-dev.git
Bug 146622 'PrefEnumCallback does not work as expected', Author=Roland.Mainz@informatik.med.uni-giessen.de,r=bstell+katakai,sr=jag+scc
This commit is contained in:
Родитель
40f81e9c4f
Коммит
f42535eac8
|
@ -4186,6 +4186,9 @@ nsFontMetricsGTK::TryNode(nsCString* aName, PRUnichar aChar)
|
|||
//
|
||||
// check the specified font (foundry-family-registry-encoding)
|
||||
//
|
||||
if (aName->IsEmpty()) {
|
||||
return nsnull;
|
||||
}
|
||||
nsFontGTK* font;
|
||||
|
||||
nsCStringKey key(*aName);
|
||||
|
@ -4247,6 +4250,9 @@ nsFontMetricsGTK::TryLangGroup(nsIAtom* aLangGroup, nsCString* aName, PRUnichar
|
|||
//
|
||||
FIND_FONT_PRINTF((" TryLangGroup lang group = %s, aName = %s",
|
||||
atomToName(aLangGroup), (*aName).get()));
|
||||
if (aName->IsEmpty()) {
|
||||
return nsnull;
|
||||
}
|
||||
nsFontGTK* font = FindLangGroupFont(aLangGroup, aChar, aName);
|
||||
return font;
|
||||
}
|
||||
|
@ -4392,7 +4398,7 @@ PrefEnumCallback(const char* aName, void* aClosure)
|
|||
nsXPIDLCString value;
|
||||
gPref->CopyCharPref(aName, getter_Copies(value));
|
||||
nsCAutoString name;
|
||||
if (value) {
|
||||
if (value.get()) {
|
||||
name = value;
|
||||
FIND_FONT_PRINTF((" PrefEnumCallback"));
|
||||
s->mFont = s->mMetrics->TryNode(&name, s->mChar);
|
||||
|
@ -4400,14 +4406,14 @@ PrefEnumCallback(const char* aName, void* aClosure)
|
|||
NS_ASSERTION(s->mFont->SupportsChar(s->mChar), "font supposed to support this char");
|
||||
return;
|
||||
}
|
||||
}
|
||||
s->mFont = s->mMetrics->TryLangGroup(s->mMetrics->mLangGroup, &name, s->mChar);
|
||||
if (s->mFont) {
|
||||
NS_ASSERTION(s->mFont->SupportsChar(s->mChar), "font supposed to support this char");
|
||||
return;
|
||||
}
|
||||
}
|
||||
gPref->CopyDefaultCharPref(aName, getter_Copies(value));
|
||||
if ((value) && (!name.Equals(value))) {
|
||||
if (value.get() && (!name.Equals(value))) {
|
||||
name = value;
|
||||
FIND_FONT_PRINTF((" PrefEnumCallback:default"));
|
||||
s->mFont = s->mMetrics->TryNode(&name, s->mChar);
|
||||
|
|
|
@ -4566,6 +4566,9 @@ nsFontMetricsXlib::TryNode(nsCString* aName, PRUnichar aChar)
|
|||
//
|
||||
// check the specified font (foundry-family-registry-encoding)
|
||||
//
|
||||
if (aName->IsEmpty()) {
|
||||
return nsnull;
|
||||
}
|
||||
nsFontXlib* font;
|
||||
|
||||
nsCStringKey key(*aName);
|
||||
|
@ -4627,6 +4630,9 @@ nsFontMetricsXlib::TryLangGroup(nsIAtom* aLangGroup, nsCString* aName, PRUnichar
|
|||
//
|
||||
FIND_FONT_PRINTF((" TryLangGroup lang group = %s, aName = %s",
|
||||
atomToName(aLangGroup), (*aName).get()));
|
||||
if (aName->IsEmpty()) {
|
||||
return nsnull;
|
||||
}
|
||||
nsFontXlib* font = FindLangGroupFont(aLangGroup, aChar, aName);
|
||||
return font;
|
||||
}
|
||||
|
@ -4772,7 +4778,7 @@ PrefEnumCallback(const char* aName, void* aClosure)
|
|||
nsXPIDLCString value;
|
||||
gPref->CopyCharPref(aName, getter_Copies(value));
|
||||
nsCAutoString name;
|
||||
if (value) {
|
||||
if (value.get()) {
|
||||
name = value;
|
||||
FIND_FONT_PRINTF((" PrefEnumCallback"));
|
||||
s->mFont = s->mMetrics->TryNode(&name, s->mChar);
|
||||
|
@ -4780,14 +4786,14 @@ PrefEnumCallback(const char* aName, void* aClosure)
|
|||
NS_ASSERTION(s->mFont->SupportsChar(s->mChar), "font supposed to support this char");
|
||||
return;
|
||||
}
|
||||
}
|
||||
s->mFont = s->mMetrics->TryLangGroup(s->mMetrics->mLangGroup, &name, s->mChar);
|
||||
if (s->mFont) {
|
||||
NS_ASSERTION(s->mFont->SupportsChar(s->mChar), "font supposed to support this char");
|
||||
return;
|
||||
}
|
||||
}
|
||||
gPref->CopyDefaultCharPref(aName, getter_Copies(value));
|
||||
if ((value) && (!name.Equals(value))) {
|
||||
if (value.get() && (!name.Equals(value))) {
|
||||
name = value;
|
||||
FIND_FONT_PRINTF((" PrefEnumCallback:default"));
|
||||
s->mFont = s->mMetrics->TryNode(&name, s->mChar);
|
||||
|
|
Загрузка…
Ссылка в новой задаче