Revert "Fix Context lookup application when moving back after a glyph delete"
This reverts commit b9b005f3a4
.
This introduced invalid access cases. Revert until I fix correctly.
This commit is contained in:
parent
3c080a7a0a
commit
47e7a1800f
|
@ -1021,13 +1021,14 @@ static inline bool apply_lookup (hb_apply_context_t *c,
|
||||||
*/
|
*/
|
||||||
|
|
||||||
end += delta;
|
end += delta;
|
||||||
if (end < int (match_positions[idx]))
|
if (end <= int (match_positions[idx]))
|
||||||
{
|
{
|
||||||
/* End might end up being smaller than match_positions[idx] if the recursed
|
/* End might end up being smaller than match_positions[idx] if the recursed
|
||||||
* lookup ended up removing too many items.
|
* lookup ended up removing many items, more than we have had matched.
|
||||||
* Just never rewind end back and get out of here.
|
* Just never rewind end back and get out of here.
|
||||||
* https://bugs.chromium.org/p/chromium/issues/detail?id=659496 */
|
* https://bugs.chromium.org/p/chromium/issues/detail?id=659496 */
|
||||||
end = match_positions[idx];
|
end = match_positions[idx];
|
||||||
|
/* There can't be any further changes. */
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1040,7 +1041,7 @@ static inline bool apply_lookup (hb_apply_context_t *c,
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* NOTE: delta is non-positive. */
|
/* NOTE: delta is negative. */
|
||||||
delta = MAX (delta, (int) next - (int) count);
|
delta = MAX (delta, (int) next - (int) count);
|
||||||
next -= delta;
|
next -= delta;
|
||||||
}
|
}
|
||||||
|
|
Binary file not shown.
|
@ -1,4 +1,3 @@
|
||||||
fonts/sha1sum/4cce528e99f600ed9c25a2b69e32eb94a03b4ae8.ttf::U+1A48,U+1A58,U+1A25,U+1A48,U+1A58,U+1A25,U+1A6E,U+1A63:[uni1A48=0+1212|uni1A25=0+1912|uni1A58=0+0|uni1A48=3+1212|uni1A6E=3+0|uni1A25=3+1912|uni1A58=3+0|uni1A63=3+1212]
|
fonts/sha1sum/4cce528e99f600ed9c25a2b69e32eb94a03b4ae8.ttf::U+1A48,U+1A58,U+1A25,U+1A48,U+1A58,U+1A25,U+1A6E,U+1A63:[uni1A48=0+1212|uni1A25=0+1912|uni1A58=0+0|uni1A48=3+1212|uni1A6E=3+0|uni1A25=3+1912|uni1A58=3+0|uni1A63=3+1212]
|
||||||
fonts/sha1sum/d629e7fedc0b350222d7987345fe61613fa3929a.ttf::U+0915,U+093F,U+0915,U+093F:[ivowelsign03deva=0+530|kadeva=0+1561|ivowelsign03deva=2+530|kadeva=2+1561]
|
fonts/sha1sum/d629e7fedc0b350222d7987345fe61613fa3929a.ttf::U+0915,U+093F,U+0915,U+093F:[ivowelsign03deva=0+530|kadeva=0+1561|ivowelsign03deva=2+530|kadeva=2+1561]
|
||||||
fonts/sha1sum/f499fbc23865022234775c43503bba2e63978fe1.ttf::U+09B0,U+09CD,U+09A5,U+09CD,U+09AF,U+09C0:[gid1=0+1320|gid13=0+523|gid18=0+545]
|
fonts/sha1sum/f499fbc23865022234775c43503bba2e63978fe1.ttf::U+09B0,U+09CD,U+09A5,U+09CD,U+09AF,U+09C0:[gid1=0+1320|gid13=0+523|gid18=0+545]
|
||||||
fonts/sha1sum/5bbf3712e6f79775c66a4407837a90e591efbef2.ttf:--font-funcs=ot:U+1F1FA,U+1F1FC:[gid3=0+2550]
|
|
||||||
|
|
Loading…
Reference in New Issue