mirror of
https://github.com/ocornut/imgui.git
synced 2024-11-24 05:19:02 +08:00
Fonts: amend assert when glyph range data seems incorrect. (#7856)
This commit is contained in:
parent
6864a7f839
commit
8cc6eee295
@ -2815,8 +2815,9 @@ static bool ImFontAtlasBuildWithStbTruetype(ImFontAtlas* atlas)
|
|||||||
for (const ImWchar* src_range = src_tmp.SrcRanges; src_range[0] && src_range[1]; src_range += 2)
|
for (const ImWchar* src_range = src_tmp.SrcRanges; src_range[0] && src_range[1]; src_range += 2)
|
||||||
{
|
{
|
||||||
// Check for valid range. This may also help detect *some* dangling pointers, because a common
|
// Check for valid range. This may also help detect *some* dangling pointers, because a common
|
||||||
// user error is to setup ImFontConfig::GlyphRanges with a pointer to data that isn't persistent.
|
// user error is to setup ImFontConfig::GlyphRanges with a pointer to data that isn't persistent,
|
||||||
IM_ASSERT(src_range[0] <= src_range[1]);
|
// or to forget to zero-terminate the glyph range array.
|
||||||
|
IM_ASSERT(src_range[0] <= src_range[1] && "Invalid range: is your glyph range array persistent? it is zero-terminated?");
|
||||||
src_tmp.GlyphsHighest = ImMax(src_tmp.GlyphsHighest, (int)src_range[1]);
|
src_tmp.GlyphsHighest = ImMax(src_tmp.GlyphsHighest, (int)src_range[1]);
|
||||||
}
|
}
|
||||||
dst_tmp.SrcCount++;
|
dst_tmp.SrcCount++;
|
||||||
|
@ -480,8 +480,9 @@ bool ImFontAtlasBuildWithFreeTypeEx(FT_Library ft_library, ImFontAtlas* atlas, u
|
|||||||
for (const ImWchar* src_range = src_tmp.SrcRanges; src_range[0] && src_range[1]; src_range += 2)
|
for (const ImWchar* src_range = src_tmp.SrcRanges; src_range[0] && src_range[1]; src_range += 2)
|
||||||
{
|
{
|
||||||
// Check for valid range. This may also help detect *some* dangling pointers, because a common
|
// Check for valid range. This may also help detect *some* dangling pointers, because a common
|
||||||
// user error is to setup ImFontConfig::GlyphRanges with a pointer to data that isn't persistent.
|
// user error is to setup ImFontConfig::GlyphRanges with a pointer to data that isn't persistent,
|
||||||
IM_ASSERT(src_range[0] <= src_range[1]);
|
// or to forget to zero-terminate the glyph range array.
|
||||||
|
IM_ASSERT(src_range[0] <= src_range[1] && "Invalid range: is your glyph range array persistent? it is zero-terminated?");
|
||||||
src_tmp.GlyphsHighest = ImMax(src_tmp.GlyphsHighest, (int)src_range[1]);
|
src_tmp.GlyphsHighest = ImMax(src_tmp.GlyphsHighest, (int)src_range[1]);
|
||||||
}
|
}
|
||||||
dst_tmp.SrcCount++;
|
dst_tmp.SrcCount++;
|
||||||
|
Loading…
Reference in New Issue
Block a user