diff options
author | Luboš Luňák <l.lunak@suse.cz> | 2013-07-10 17:33:15 +0200 |
---|---|---|
committer | Luboš Luňák <l.lunak@suse.cz> | 2013-07-10 17:35:27 +0200 |
commit | a1190c9d2e85c4ccb9db106fe9eb4a48219ac126 (patch) | |
tree | 6302a1c48d81d1f8823bba99c5450265076f81b8 /sc | |
parent | 0cf9b9ab4bec65055e88517e937d18f751818ff6 (diff) |
fix reading fonts from .odp using style::font-name (fdo#65338)
b40bcde076f9fabf24810d2520e878d604d99637 made writing .odp use style:font-name
and office:font-face-decls, instead of using fo:font-family . But the reading
back was broken, as xFontDecls is not set
in XMLTextImportPropertyMapper::handleSpecialItem(), so the font data was
ignored. And xFontDecls was not set because it's set while reading
office:font-face-decls, which is at the top of the xml document, but even
before the xml is parsed, the call to SdXMLImport::setTargetDocument() calls
GetShapeImport(), which creates XMLShapeImportHelper instance, which calls
XMLTextImportHelper::CreateParaExtPropMapper(), and XMLTextImportPropertyMapper
is created with rImport.GetFontDecls() still being NULL at that point.
And it actually doesn't seem to make any sense to just pass around all
the pointers to XMLFontStylesContext, as eventually it's always just the one
from SvXMLImport. So simply dump all that and make the one single place
that actually uses it (i.e. XMLTextImportPropertyMapper::handleSpecialItem())
refer directly to SvXMLImport::GetFontDecls().
Change-Id: Ib1b3e4b1bcaf87ca3e4703d1cc1563ad6b3f9ce7
Diffstat (limited to 'sc')
-rw-r--r-- | sc/source/filter/xml/xmlstyli.cxx | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sc/source/filter/xml/xmlstyli.cxx b/sc/source/filter/xml/xmlstyli.cxx index e96a1ecc8f9e..f905a5e6aa3b 100644 --- a/sc/source/filter/xml/xmlstyli.cxx +++ b/sc/source/filter/xml/xmlstyli.cxx @@ -750,7 +750,7 @@ UniReference < SvXMLImportPropertyMapper > { ((XMLTableStylesContext *)this)->xCellImpPropMapper = new ScXMLCellImportPropertyMapper( GetScImport().GetCellStylesPropertySetMapper(), const_cast<SvXMLImport&>(GetImport()) ); - xCellImpPropMapper->ChainImportMapper(XMLTextImportHelper::CreateParaExtPropMapper(const_cast<SvXMLImport&>(GetImport()), const_cast<XMLFontStylesContext*>(GetScImport().GetFontDecls()))); + xCellImpPropMapper->ChainImportMapper(XMLTextImportHelper::CreateParaExtPropMapper(const_cast<SvXMLImport&>(GetImport()))); } xMapper = xCellImpPropMapper; } |