+ don't call XftValueDestroy() in XftPatternAdd/Get() --- this patch avoids tons of "already freed" messages
+ XftFontMatch(): return false if no font matches, not unspecific + scx_xftfontset_pattern_ref(): fixed wrong index
This commit is contained in:
parent
afb80004d6
commit
0617270567
|
@ -101,7 +101,6 @@ s48_value scx_XftPatternGet(s48_value sxp, s48_value sobj, s48_value sid)
|
||||||
|
|
||||||
rl = s48_list_2(s48_enter_integer(rc), rv);
|
rl = s48_list_2(s48_enter_integer(rc), rv);
|
||||||
S48_GC_UNPROTECT();
|
S48_GC_UNPROTECT();
|
||||||
XftValueDestroy(v);
|
|
||||||
return rl;
|
return rl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -159,9 +158,9 @@ s48_value scx_XftFontMatch(s48_value sdpy, s48_value sscreenno, s48_value sxp)
|
||||||
|
|
||||||
S48_GC_UNPROTECT();
|
S48_GC_UNPROTECT();
|
||||||
if (p == NULL)
|
if (p == NULL)
|
||||||
return s48_list_2(S48_FALSE, S48_UNSPECIFIC);
|
return s48_list_2(S48_FALSE, S48_FALSE);
|
||||||
else
|
else
|
||||||
return s48_list_2(s48_enter_integer(r), scx_enter_xftpattern(p));
|
return s48_list_2(s48_enter_fixnum(r), scx_enter_xftpattern(p));
|
||||||
}
|
}
|
||||||
|
|
||||||
s48_value scx_XftFontOpenPattern(s48_value sdpy, s48_value sxp)
|
s48_value scx_XftFontOpenPattern(s48_value sdpy, s48_value sxp)
|
||||||
|
@ -548,7 +547,7 @@ s48_value scx_xftfontset_pattern_ref(s48_value sxfs, s48_value index)
|
||||||
xfs = scx_extract_xftfontset(sxfs);
|
xfs = scx_extract_xftfontset(sxfs);
|
||||||
S48_GC_UNPROTECT();
|
S48_GC_UNPROTECT();
|
||||||
|
|
||||||
if ((i >= 0) && (i <= xfs->nfont))
|
if ((i >= 0) && (i < xfs->nfont))
|
||||||
return scx_enter_xftpattern(xfs->fonts[i]);
|
return scx_enter_xftpattern(xfs->fonts[i]);
|
||||||
else
|
else
|
||||||
return S48_FALSE;
|
return S48_FALSE;
|
||||||
|
|
Loading…
Reference in New Issue