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).
// 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),
fontType, ftEncoding)) &&
NS_SUCCEEDED(GetConverter(encoding.get(), getter_AddRefs(converter)))) {
nsCOMPtr<nsICharRepresentable> mapper(do_QueryInterface(converter));
if (PR_LOG_TEST(gXftFontLoad, PR_LOG_DEBUG)) {
printf("\t\tc> got the converter and CMap :%s !!\n",
encoding.get());
}
fontType, ftEncoding))) {
if (NS_SUCCEEDED(GetConverter(encoding.get(),
getter_AddRefs(converter)))) {
nsCOMPtr<nsICharRepresentable> mapper(do_QueryInterface(converter));
if (PR_LOG_TEST(gXftFontLoad, PR_LOG_DEBUG)) {
printf("\t\tc> got the converter and CMap :%s !!\n",
encoding.get());
}
if (mapper) {
ccmap = MapperToCCMap(mapper);
if (mapper) {
ccmap = MapperToCCMap(mapper);
}
}
}