From 5f84b65a26073141e02152d3e5889fb7cfe459a2 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Tue, 22 Apr 2003 06:27:27 +0000 Subject: [PATCH] Handle pattern elements moving during multiple edits --- src/fccfg.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/fccfg.c b/src/fccfg.c index 87c38bc..36a76a4 100644 --- a/src/fccfg.c +++ b/src/fccfg.c @@ -1232,6 +1232,14 @@ FcConfigSubstituteWithPat (FcConfig *config, !FcStrCmpIgnoreCase ((FcChar8 *) t->field, (FcChar8 *) e->field)) { + /* + * KLUDGE - the pattern may have been reallocated or + * things may have been inserted or deleted above + * this element by other edits. Go back and find + * the element again + */ + if (e != s->edit && st[i].elt) + st[i].elt = FcPatternFindElt (p, t->field); if (!st[i].elt) t = 0; break;