From b4f5c3fea2428fff9f470b6cde86b867787128d8 Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Tue, 27 Mar 2012 09:57:25 +0200 Subject: n#751117 writerfilter: include all oox tokens in gperffasttoken.hxx Without that, the following happens: 1) ShapeTypeContext::onCreateContext() in oox calls rAttribs.getToken() 2) FastAttributeList::getOptionalValueToken() in sax calls mxTokenHandler->getTokenFromUTF8() 3) OOXMLFastTokenHandler::getTokenFromUTF8() won't find the oox token and return OOXML_FAST_TOKENS_END I verified that the new gperf input just adds tokens to the hash, doesn't remove any. --- writerfilter/source/Makefile | 4 ++-- writerfilter/source/ooxml/gperffasttokenhandler.xsl | 13 ++++++------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/writerfilter/source/Makefile b/writerfilter/source/Makefile index 240893c5aeb4..2b10ae972629 100644 --- a/writerfilter/source/Makefile +++ b/writerfilter/source/Makefile @@ -140,9 +140,9 @@ $(wf_GEN_ooxml_NamespaceIds_hxx) : $(wf_SRC_ooxml_NamespaceIds_xsl) $(wf_GEN_oox $(call gb_Output_announce,$@,build,XSL,1) $(call gb_Helper_abbreviate_dirs_native, $(gb_XSLTPROC) $(wf_SRC_ooxml_NamespaceIds_xsl) $(wf_GEN_ooxml_Model_processed)) > $@ -$(wf_GEN_ooxml_GperfFastToken_hxx) : $(wf_SRC_ooxml_GperfFastTokenHandler_xsl) $(wf_GEN_ooxml_Model_processed) +$(wf_GEN_ooxml_GperfFastToken_hxx) : $(wf_SRC_ooxml_GperfFastTokenHandler_xsl) $(wf_GEN_ooxml_token_xml) $(call gb_Output_announce,$@,build,GPF,1) - $(call gb_Helper_abbreviate_dirs_native, $(gb_XSLTPROC) $(wf_SRC_ooxml_GperfFastTokenHandler_xsl) $(wf_GEN_ooxml_Model_processed)) \ + $(call gb_Helper_abbreviate_dirs_native, $(gb_XSLTPROC) $(wf_SRC_ooxml_GperfFastTokenHandler_xsl) $(wf_GEN_ooxml_token_xml)) \ | tr -d '\r' | $(GPERF) -I -t -E -S1 -c -G -LC++ > $@ $(wf_GEN_ooxml_Model_analyzed): $(wf_SRC_ooxml_Analyze_model_xsl) $(wf_SRC_ooxml_Model) diff --git a/writerfilter/source/ooxml/gperffasttokenhandler.xsl b/writerfilter/source/ooxml/gperffasttokenhandler.xsl index d14db0486b5d..648342d57a33 100644 --- a/writerfilter/source/ooxml/gperffasttokenhandler.xsl +++ b/writerfilter/source/ooxml/gperffasttokenhandler.xsl @@ -77,15 +77,14 @@ namespace writerfilter { namespace ooxml { namespace tokenmap { %} struct token { const char * name; Token_t nToken; }; %% - - - - - , - - + + + + , OOXML_ + +FAST_TOKENS_END, OOXML_FAST_TOKENS_END %% }}} -- cgit v1.2.1