I pushed out a bunch of fixes for this. Next thing I really want to do is to make it possible to add custom elements through FcNameParse. Something like: fc-match :testproperty(Integer)=3 The possible types are all of the FcType*. Thanks for testing! behdad On 13-01-01 12:36 PM, Raimund Steger wrote: > Behdad Esfahbod wrote: >> New commits: >> commit 1fbb0b3b15774c187c697a80fb3c89bc1f3e0006 >> Author: Behdad Esfahbod <behdad@xxxxxxxxxx> >> Date: Sun Dec 30 19:08:42 2012 -0600 >> >> Don't warn if an unknown element is used in an expression >> >> The type will be resolved at runtime... > >> [...] > >> diff --git a/src/fcxml.c b/src/fcxml.c >> index d31caf5..cf9c8dd 100644 >> --- a/src/fcxml.c >> +++ b/src/fcxml.c >> @@ -594,6 +594,10 @@ FcTypecheckValue (FcConfigParse *parse, FcType value, >> FcType type) >> return; >> if (type == (FcType) -1) >> return; >> + /* It's perfectly fine to use user-define elements in expressions, >> + * so don't warn in that case. */ >> + if (value == (FcType) -1) >> + return; >> FcConfigMessage (parse, FcSevereWarning, "saw %s, expected %s", >> FcTypeName (value), FcTypeName (type)); >> } > > Hm, while testing this I noticed that FcPatternDuplicate returns 0 if it comes > across an element where the FcObjectValidType check fails, such as when a > string was assigned to the 'dpi' property. > > This causes a coredump in fc-match, which probably has been like this forever; > only, the warning gave a hint previously which it doesn't do now. (fontconfig > still prints a warning if FC_DEBUG=4096 (FC_DBG_OBJTYPES) is set though.) > > E. g. for the config: > > <match target="font"> > <edit name="test_string" mode="assign"> > <string>test_string_value</string> > </edit> > <edit name="dpi" mode="assign"> > <name>test_string</name> > </edit> > </match> > > (which is of course invalid anyway) the following happens: > > sun2:fontconfig)FC_DEBUG=4096 fc-match -v > FC_DEBUG=4096 > FC_DEBUG=4096 > FcPattern object dpi does not accept value "test_string_value"Null pattern > zsh: segmentation fault (core dumped) FC_DEBUG=4096 fc-match -v > > Maybe the FC_DBG_OBJTYPES warnings would be better off as normal warnings? > Although this would mean that the user sees at least two warnings in the case > of a direct assignment (without <name>). > > Everything else works just fine AFAICT. > > Raimund > > > -- behdad http://behdad.org/ _______________________________________________ Fontconfig mailing list Fontconfig@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/fontconfig