bug 234908 : fix the crash in Xft builds introduced by bug 231995. temporary work-around (patch by darin)

This commit is contained in:
jshin%mailaps.org 2004-02-19 19:47:25 +00:00
Родитель 6befbbdeb4
Коммит e352eaed3f
1 изменённых файлов: 15 добавлений и 9 удалений

Просмотреть файл

@ -2771,17 +2771,23 @@ GetFontXftInfo(FcPattern* aPattern)
// with GetEncoding(). It also sets fonttype (wide or narrow). // with GetEncoding(). It also sets fonttype (wide or narrow).
// Then get the converter and see if has a valid coverage map. // Then get the converter and see if has a valid coverage map.
// XXX these two if-statements used to be logically AND'ed, but
// string changes (bug 231995) made it impossible to use getter_Copies(encoding)
// and encoding.get() in a single statement. Until Darin comes up with
// a solution, we need to split it into two if-statements. (bug 234908)
if (NS_SUCCEEDED(GetEncoding(family, getter_Copies(encoding), if (NS_SUCCEEDED(GetEncoding(family, getter_Copies(encoding),
fontType, ftEncoding)) && fontType, ftEncoding))) {
NS_SUCCEEDED(GetConverter(encoding.get(), getter_AddRefs(converter)))) { if (NS_SUCCEEDED(GetConverter(encoding.get(),
nsCOMPtr<nsICharRepresentable> mapper(do_QueryInterface(converter)); getter_AddRefs(converter)))) {
if (PR_LOG_TEST(gXftFontLoad, PR_LOG_DEBUG)) { nsCOMPtr<nsICharRepresentable> mapper(do_QueryInterface(converter));
printf("\t\tc> got the converter and CMap :%s !!\n", if (PR_LOG_TEST(gXftFontLoad, PR_LOG_DEBUG)) {
encoding.get()); printf("\t\tc> got the converter and CMap :%s !!\n",
} encoding.get());
}
if (mapper) { if (mapper) {
ccmap = MapperToCCMap(mapper); ccmap = MapperToCCMap(mapper);
}
} }
} }