From 194c17a7c7c00f966b0256a1e90d50d8dd49f2bc Mon Sep 17 00:00:00 2001 From: Tushar Bende Date: Tue, 22 Jul 2014 11:40:49 +0530 Subject: [PATCH] fdo#80895 : Shape in Header&Footer is getting lost after RT If there is a shape in Header or footer in a docx created in MSO-2010 that shape was getting lost after RT(actually shape was there but it's properties were getting missed). Root cause was : When LO processes Header it has msRelationFragmentPath= header.xml in ShapeContextHandler::startFastElement() and searches for theme as there is No theme specific to header or footer, aThemeFragmentPath becomes empty in that case. This is because MS office shares same theme for both documentBody as well as Header or footer. To fix Get Target for Type = "officeDocument" from _rels/.rels file this target is "word/document.xml" for docx & to "ppt/presentation.xml" for pptx and use this Target for fetching correct theme.xml. Tested group shapes in header/footer,previously was not getting rendred and not preserved after RT.After this patch it's now working correctly. Tested chart in header/footer previously chart colour was not coming properly both during rendering as well as after RT.after this patch it's working correctly. Reviewed on: https://gerrit.libreoffice.org/10451 Change-Id: Id47008550da90c0d697b434b676765230e3258a7 --- oox/source/shape/ShapeContextHandler.cxx | 10 +++++++++- sw/qa/extras/ooxmlexport/data/fdo80895.docx | Bin 0 -> 23133 bytes sw/qa/extras/ooxmlexport/ooxmlsdrexport.cxx | 18 ++++++++++++++++++ 3 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 sw/qa/extras/ooxmlexport/data/fdo80895.docx diff --git a/oox/source/shape/ShapeContextHandler.cxx b/oox/source/shape/ShapeContextHandler.cxx index d9ae6949bdca..aed94381a41b 100644 --- a/oox/source/shape/ShapeContextHandler.cxx +++ b/oox/source/shape/ShapeContextHandler.cxx @@ -290,8 +290,16 @@ void SAL_CALL ShapeContextHandler::startFastElement // Parse the theme relation, if available; the diagram won't have colors without it. if (!msRelationFragmentPath.isEmpty()) { - FragmentHandlerRef rFragmentHandler(new ShapeFragmentHandler(*mxFilterBase, msRelationFragmentPath)); + // Get Target for Type = "officeDocument" from _rels/.rels file + // aOfficeDocumentFragmentPath is pointing to "word/document.xml" for docx & to "ppt/presentation.xml" for pptx + FragmentHandlerRef rFragmentHandlerRef(new ShapeFragmentHandler(*mxFilterBase, "/")); + OUString aOfficeDocumentFragmentPath = rFragmentHandlerRef->getFragmentPathFromFirstTypeFromOfficeDoc( "officeDocument" ); + + // Get the theme DO NOT use msRelationFragmentPath for getting theme as for a document there is a single theme in document.xml.rels + // and the same is used by header and footer as well. + FragmentHandlerRef rFragmentHandler(new ShapeFragmentHandler(*mxFilterBase, aOfficeDocumentFragmentPath)); OUString aThemeFragmentPath = rFragmentHandler->getFragmentPathFromFirstTypeFromOfficeDoc( "theme" ); + if(!aThemeFragmentPath.isEmpty()) { uno::Reference xDoc(mxFilterBase->importFragment(aThemeFragmentPath), uno::UNO_QUERY_THROW); diff --git a/sw/qa/extras/ooxmlexport/data/fdo80895.docx b/sw/qa/extras/ooxmlexport/data/fdo80895.docx new file mode 100644 index 0000000000000000000000000000000000000000..711882fd4e03d42fd5688f16d546d1ad6dc1356c GIT binary patch literal 23133 zcmeFYV~}l4w=P(=ZQHhO+umi{<}TabW!tuG+uUVzz270GUqLWu9pGVkuQ;s`f%!QkcmR$h-4`T|EQ zQUe&zYnN%nVUg^@{Yif=pvCT=TT?KCEBU>m%|)!?9>DqVa6ve^JL_E z5O&fkiHDHB5PsB4#9Ms5Lo`2X+T#%{+{91=^(lHiAl@ww{vBp3#klu!FD0|e@(vyV z;QJdGK;i#l{CM$LEe}5$E%#&F&_Bkn?`Uf6L{In6{eK(%|H793-(LN9!iE&EAWY~D z=#Js25Bmlb(fr!BM7|r*1#ocsC7>JJWYKzeS0O>W!iL`Q~la%NEGB6kT7SdF3P zQr>E&f%uM=Ow|-Pi2n}RDWW>yaw@VhVmL9zG zT7kz%4L3faCJma8*Sl~~1HC!lPZ<24ZKPq(Fw*U(Wf&X)00#g9(9O=#g#JGa#l+6o z#pWkg{u3ns%V+?9BIQr-|Fy5mEK{DxO zDoD;Xf5NE!d!sKHTH*KjvdnD}*GLx5GQ@W;DcG8PV=^^fiFYxIEyl*;YV(;F?h1c1 zNv7iUY{AIH^tt-U2)z_FzoxUQ`|pNi1lTa}A%3nn4kAG-15$JD_%o>4X`FMK=D6UP zi;~1R03k`8Iu~g1P~i!2M3jDj0$zP5lT|lwh=w@6-}oZu3-S#=eJGt1Yb(h4{Cgfd zLaj`bdebUmu7z4*cP?3W7I*)EJ}eu2Qh?YyfAaes9Y_ej)do2xFvPtamJl8Zrp)67 z8xM6K2ulQMG31Eaq1Xy})<$oqLx!cSfOb?2R1M$Z_jh2`2%r1)y&bLSIcD&YUke5P z#@^GH70ed!^5A+NP?+EI@XsS}vAYBQcZ$oCdPF1hBpmGXu-P)4aAI3{Z6A6F@Y@CO?Hj!m;ymCHCt#yPM#84o&*u0dcN~ zjji8UKexRxXlYvTgTK2DqeSqy(fz~GyR|IOMX8iIVC2Z*C~e!8?`M5k0f+`=nt@eBT%) zmU%UUI+U2wuM-0%eWeGjbIby(^Fck7eq2OujlT>CiSwnU#4OklON5HjrSFf3W=ccY z9vh>&D*j;$gS)d z@r{D@=I;s@UP^!U2N^ijWlAJq8SPtx`*%3K$P%Dfd%Y`J503YvUnXC>*%i(MV$gDh zy%cJI)qEIt`e-y*+3j>Pe9(Ij&-qSNoc1Nrcuk;Sw$MjQp;GmHh{n*uhVT-MKbQ1S z_i80`jF3R0I)+;8#ozR~bLQ*qiKFzxG^RHT&$7jq*VCLb>>mb|ZS8Fx9v#J_$6f;p zAIXp;WhR9kWwA=XJ;-g26?@xZB>*=;Z`n_}N^TA9a}=n4yAX33y7LVTewY7US$nX% zlng24?JO%Ha)nu`_*+1&@QdGkOB)>Pn?9A}Tah6Ch(fq$E69mJ{yngS*lJ@TO$Yo% zMMZI=&M-3>4m-S{$r}R&ExYm$jA*$qmhLTO8#|GpG$D!~N(|w|P&wrNJ96#TZauGf z>#2V375^{FmyPn;M#!Ix_#`EQ^wK?ScqULT^$p`7y4w zYb`Q{7U?G1YdTEv`TdF1n065abiY4m)i$QgG&`^v$33Rsa|R53KgÂGRime(KX6epVTYJsC9Kz?pl)Y^7>__zmts@* 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 literal 0 HcmV?d00001 diff --git a/sw/qa/extras/ooxmlexport/ooxmlsdrexport.cxx b/sw/qa/extras/ooxmlexport/ooxmlsdrexport.cxx index 20f7fd7a4e28..a6b73427b1e1 100644 --- a/sw/qa/extras/ooxmlexport/ooxmlsdrexport.cxx +++ b/sw/qa/extras/ooxmlexport/ooxmlsdrexport.cxx @@ -1762,6 +1762,24 @@ DECLARE_OOXMLEXPORT_TEST(testFdo80894, "TextFrameRotation.docx") "rot","16200000"); } +DECLARE_OOXMLEXPORT_TEST(testfdo80895, "fdo80895.docx") +{ + // DML shapes in header and footer were not getting rendered in LO and the same were not preserved after RT. + // In actual there was a shape but because of fetching wrong theme for header.xml or footer.xml + // resultant shape was with prop in hence was not visible. + // Checking there is a shape in header without element. + + xmlDocPtr pXmlDoc = parseExport("word/header1.xml"); + if (!pXmlDoc) + return; + assertXPath(pXmlDoc, "/w:hdr/w:p/w:r/mc:AlternateContent/mc:Choice/w:drawing/wp:anchor/a:graphic/a:graphicData/wps:wsp/wps:spPr/a:noFill",0); + assertXPath(pXmlDoc, "/w:hdr/w:p/w:r/mc:AlternateContent/mc:Choice/w:drawing/wp:anchor/a:graphic/a:graphicData/wps:wsp/wps:spPr/a:ln/a:noFill",0); + + // Check for fallback (required for MSO-2007) + assertXPath(pXmlDoc, "/w:hdr/w:p/w:r/mc:AlternateContent/mc:Fallback/w:pict/v:rect", "fillcolor", "#4f81bd"); + assertXPath(pXmlDoc, "/w:hdr/w:p/w:r/mc:AlternateContent/mc:Fallback/w:pict/v:rect/v:fill", "type", "solid"); +} + #endif CPPUNIT_PLUGIN_IMPLEMENT();