connectivity/source/drivers/file/FPreparedStatement.cxx | 2 download.lst | 2 filter/source/graphicfilter/ieps/ieps.cxx | 2 framework/source/services/substitutepathvars.cxx | 3 sc/qa/unit/ucalc_pivottable.cxx | 52 ++++++++-------- sc/source/core/data/column4.cxx | 7 +- sc/source/core/data/dpoutput.cxx | 9 ++ sc/source/core/data/table3.cxx | 7 +- sc/source/ui/docshell/dbdocfun.cxx | 1 sw/qa/extras/ooxmlimport/data/bnc891663.docx |binary sw/qa/extras/ooxmlimport/ooxmlimport.cxx | 9 ++ sw/source/filter/html/htmlgrin.cxx | 23 ++++--- vcl/source/gdi/regionband.cxx | 1 writerfilter/source/dmapper/GraphicImport.cxx | 7 ++ writerfilter/source/dmapper/PropertyIds.cxx | 1 writerfilter/source/dmapper/PropertyIds.hxx | 1 16 files changed, 86 insertions(+), 41 deletions(-)
New commits: commit 535a62150bf9d2e12be033ddf7bdd8f761b72f60 Author: Matúš Kukan <matus.ku...@collabora.com> Date: Tue Sep 23 14:40:01 2014 +0200 Do not link html images only when pasting from clipboard (bnc#580834) Conflicts: sw/qa/extras/htmlimport/data/picture.html sw/qa/extras/htmlimport/htmlimport.cxx Change-Id: I020c4e6ed6d468e553dedd7c91979b081d6b4725 diff --git a/sw/source/filter/html/htmlgrin.cxx b/sw/source/filter/html/htmlgrin.cxx index 4052027..5f7ca14 100644 --- a/sw/source/filter/html/htmlgrin.cxx +++ b/sw/source/filter/html/htmlgrin.cxx @@ -711,7 +711,8 @@ IMAGE_SETEVENT: sGrfNm = ""; } } - else if (aGraphicURL.GetProtocol() == INET_PROT_FILE) + // sBaseURL is empty if the source is clipboard + else if (sBaseURL.isEmpty()) { if (GRFILTER_OK == GraphicFilter::GetGraphicFilter().ImportGraphic(aGraphic, aGraphicURL)) sGrfNm = ""; commit 9af79c2fbec31611305bfab99fbac30988a97230 Author: Michael Stahl <mst...@redhat.com> Date: Fri Sep 12 17:59:49 2014 +0200 STL assert in connectivity::file::OPreparedStatement::checkAndResizeParameters Change-Id: I48f4ceaf1d01d449eba169534f6512f9aadca886 (cherry picked from commit 7ce8ba33f38671d7cae8b0e759c38b4a8668488a) diff --git a/connectivity/source/drivers/file/FPreparedStatement.cxx b/connectivity/source/drivers/file/FPreparedStatement.cxx index d34c526..586de72 100644 --- a/connectivity/source/drivers/file/FPreparedStatement.cxx +++ b/connectivity/source/drivers/file/FPreparedStatement.cxx @@ -445,7 +445,7 @@ void OPreparedStatement::checkAndResizeParameters(sal_Int32 parameterIndex) { sal_Int32 i = m_aParameterRow->get().size(); (m_aParameterRow->get()).resize(parameterIndex+1); - for ( ;i <= parameterIndex+1; ++i ) + for ( ; i <= parameterIndex; ++i) { if ( !(m_aParameterRow->get())[i].is() ) (m_aParameterRow->get())[i] = new ORowSetValueDecorator; commit 9ccde22fcf8efe0007ec243df7ee85af8ef795b0 Author: Björgvin Ragnarsson <nifgr...@gmail.com> Date: Thu Sep 4 00:43:04 2014 +0300 fdo#81592 Use 24-bit color depth, not 256 colors when converting an EPS-file. This regression was introduced in f5c3f5601a3739dead635f9abc446951b385018f. Change-Id: Ica48732398cd5d225b433b177ff6e6fff649e732 (cherry picked from commit 0791335cf007e04de25e03c0a6e0aa53fa66016a) diff --git a/filter/source/graphicfilter/ieps/ieps.cxx b/filter/source/graphicfilter/ieps/ieps.cxx index 94bf6ac..c0bf43c 100644 --- a/filter/source/graphicfilter/ieps/ieps.cxx +++ b/filter/source/graphicfilter/ieps/ieps.cxx @@ -327,7 +327,7 @@ static bool RenderAsBMPThroughGS(const sal_uInt8* pBuf, sal_uInt32 nBytesRead, OUString arg6("-dTextAlphaBits=4"); OUString arg7("-dGraphicsAlphaBits=4"); OUString arg8("-r300x300"); - OUString arg9("-sDEVICE=bmp256"); + OUString arg9("-sDEVICE=bmp16m"); OUString arg10("-sOutputFile=-"); OUString arg11("-"); rtl_uString *args[] = commit d192533c4ce32cb1a9e5eb011bbe29e14acad9d5 Author: Kohei Yoshida <kohei.yosh...@collabora.com> Date: Wed Sep 17 11:24:56 2014 -0400 bnc#592918: Display data description in pivot table. When there are no column fields and exactly one data field. Change-Id: I10d2af7e626f98a4d8a981e078e99e7da9207d1c (cherry picked from commit 902564bfe52e7699cefc80b3334c2eb0a8cacdcf) diff --git a/sc/qa/unit/ucalc_pivottable.cxx b/sc/qa/unit/ucalc_pivottable.cxx index 00e83b9..65ed2fd 100644 --- a/sc/qa/unit/ucalc_pivottable.cxx +++ b/sc/qa/unit/ucalc_pivottable.cxx @@ -1107,7 +1107,7 @@ void Test::testPivotTableNormalGrouping() { // Expected output table content. 0 = empty cell const char* aOutputCheck[][2] = { - { "Name", 0 }, + { "Name", "Sum - Value" }, { "A", "1" }, { "B", "2" }, { "C", "3" }, @@ -1155,7 +1155,7 @@ void Test::testPivotTableNormalGrouping() { // Expected output table content. 0 = empty cell const char* aOutputCheck[][3] = { - { "Name2", "Name", 0 }, + { "Name2", "Name", "Sum - Value" }, { "D", "D", "4" }, { "E", "E", "5" }, { "F", "F", "6" }, @@ -1192,7 +1192,7 @@ void Test::testPivotTableNormalGrouping() { // Expected output table content. 0 = empty cell const char* aOutputCheck[][3] = { - { "Name2", "Name", 0 }, + { "Name2", "Name", "Sum - Value" }, { "G", "G", "7" }, { "Group1", "A", "1" }, { 0, "B", "2" }, @@ -1289,7 +1289,7 @@ void Test::testPivotTableNumberGrouping() { // Expected output table content. 0 = empty cell const char* aOutputCheck[][2] = { - { "Order", 0 }, + { "Order", "Sum - Score" }, { "<30", "423" }, { "30-39", "87" }, { "40-49", "241" }, @@ -1404,7 +1404,7 @@ void Test::testPivotTableDateGrouping() { // Expected output table content. 0 = empty cell const char* aOutputCheck[][4] = { - { "Years", "Quarters", "Date", 0 }, + { "Years", "Quarters", "Date", "Sum - Value" }, { "2011", "Q1", "Jan", "1" }, { 0, 0, "Mar", "2" }, { 0, "Q3", "Sep", "7" }, @@ -1436,7 +1436,7 @@ void Test::testPivotTableDateGrouping() { // Expected output table content. 0 = empty cell const char* aOutputCheck[][4] = { - { "Years", "Quarters", "Date", 0 }, + { "Years", "Quarters", "Date", "Sum - Value" }, { "2011", "Q1", "Jan", "1" }, { 0, 0, "Mar", "2" }, { 0, "Q3", "Sep", "7" }, @@ -1460,7 +1460,7 @@ void Test::testPivotTableDateGrouping() { // Expected output table content. 0 = empty cell const char* aOutputCheck[][2] = { - { "Date", 0 }, + { "Date", "Sum - Value" }, { "2011-01-01", "1" }, { "2011-03-02", "2" }, { "2011-09-03", "7" }, @@ -1528,7 +1528,7 @@ void Test::testPivotTableEmptyRows() { // Expected output table content. 0 = empty cell const char* aOutputCheck[][2] = { - { "Name", 0 }, + { "Name", "Sum - Value" }, { "A", "1" }, { "B", "2" }, { "C", "3" }, @@ -1551,7 +1551,7 @@ void Test::testPivotTableEmptyRows() { // Expected output table content. 0 = empty cell const char* aOutputCheck[][2] = { - { "Name", 0 }, + { "Name", "Sum - Value" }, { "A", "1" }, { "B", "2" }, { "C", "3" }, @@ -1578,7 +1578,7 @@ void Test::testPivotTableEmptyRows() { // Expected output table content. 0 = empty cell const char* aOutputCheck[][2] = { - { "Name", 0 }, + { "Name", "Sum - Value" }, { "B", "3" }, { "C", "3" }, { "D", "4" }, @@ -1656,7 +1656,7 @@ void Test::testPivotTableTextNumber() { // Expected output table content. 0 = empty cell const char* aOutputCheck[][2] = { - { "Name", 0 }, + { "Name", "Sum - Value" }, { "0001", "1" }, { "0002", "2" }, { "0003", "3" }, @@ -1715,7 +1715,7 @@ void Test::testPivotTableCaseInsensitiveStrings() { // Expected output table content. 0 = empty cell const char* aOutputCheck[][2] = { - { "Name", 0 }, + { "Name", "Sum - Value" }, { "A", "3" }, { "Total Result", "3" }, }; @@ -1878,7 +1878,7 @@ void Test::testPivotTableFieldReference() { // Expected output table content. 0 = empty cell const char* aOutputCheck[][2] = { - { "Name", 0 }, + { "Name", "Sum - Value" }, { "A", "1" }, { "B", "2" }, { "C", "4" }, @@ -1905,7 +1905,7 @@ void Test::testPivotTableFieldReference() { // Expected output table content. 0 = empty cell const char* aOutputCheck[][2] = { - { "Name", 0 }, + { "Name", "Sum - Value" }, { "A", 0 }, { "B", "1" }, { "C", "3" }, @@ -1925,7 +1925,7 @@ void Test::testPivotTableFieldReference() { // Expected output table content. 0 = empty cell const char* aOutputCheck[][2] = { - { "Name", 0 }, + { "Name", "Sum - Value" }, { "A", "100.00%" }, { "B", "200.00%" }, { "C", "400.00%" }, @@ -1945,7 +1945,7 @@ void Test::testPivotTableFieldReference() { // Expected output table content. 0 = empty cell const char* aOutputCheck[][2] = { - { "Name", 0 }, + { "Name", "Sum - Value" }, { "A", 0 }, { "B", "100.00%" }, { "C", "300.00%" }, @@ -1965,7 +1965,7 @@ void Test::testPivotTableFieldReference() { // Expected output table content. 0 = empty cell const char* aOutputCheck[][2] = { - { "Name", 0 }, + { "Name", "Sum - Value" }, { "A", "1" }, { "B", "3" }, { "C", "7" }, @@ -1985,7 +1985,7 @@ void Test::testPivotTableFieldReference() { // Expected output table content. 0 = empty cell const char* aOutputCheck[][2] = { - { "Name", 0 }, + { "Name", "Sum - Value" }, { "A", "6.67%" }, { "B", "13.33%" }, { "C", "26.67%" }, @@ -2050,7 +2050,7 @@ void Test::testPivotTableDocFunc() { // Expected output table content. 0 = empty cell const char* aOutputCheck[][2] = { - { "Name", 0 }, + { "Name", "Sum - Value" }, { "Apple", "16" }, { "Microsoft", "32" }, { "Oracle", "2" }, @@ -2119,7 +2119,7 @@ void Test::testFuncGETPIVOTDATA() { // Expected output table content. 0 = empty cell const char* aOutputCheck[][2] = { - { "Name", 0 }, + { "Name", "Sum - Value" }, { "A", "6" }, { "B", "15" }, { "Total Result", "21" }, @@ -2277,12 +2277,12 @@ void Test::testFuncGETPIVOTDATALeafAccess() { // Expected output table content. 0 = empty cell const char* aOutputCheck[][3] = { - { "Type", "Member", 0 }, - { "A", "Anna", "1" }, - { 0, "Cecilia", "3" }, - { "B", "Brittany", "2" }, - { 0, "Donna", "4" }, - { "Total Result", 0, "10" }, + { "Type", "Member", "Sum - Value" }, + { "A", "Anna", "1" }, + { 0, "Cecilia", "3" }, + { "B", "Brittany", "2" }, + { 0, "Donna", "4" }, + { "Total Result", 0, "10" }, }; bSuccess = checkDPTableOutput<3>(m_pDoc, aOutRange, aOutputCheck, "Pivot table refreshed"); diff --git a/sc/source/core/data/dpoutput.cxx b/sc/source/core/data/dpoutput.cxx index c03b8ce..83b4730 100644 --- a/sc/source/core/data/dpoutput.cxx +++ b/sc/source/core/data/dpoutput.cxx @@ -1129,6 +1129,15 @@ void ScDPOutput::Output() } } + if (nColCount == 1 && nRowCount > 0 && nColFieldCount == 0) + { + // the table contains excatly one data field and no column fields. + // Display data description at top right corner. + ScSetStringParam aParam; + aParam.setTextInput(); + pDoc->SetString(nDataStartCol, nDataStartRow-1, nTab, aDataDescription, &aParam); + } + // output data results: for (long nRow=0; nRow<nRowCount; nRow++) commit 21297a3249aec0bda08b5b7e1c8091bb4417e255 Author: Kohei Yoshida <kohei.yosh...@collabora.com> Date: Thu Sep 18 12:13:13 2014 -0400 fdo#83764: Ensure that the row position is below MAXROW. When attempting to split formula groups, else multi_type_vector would try to locate a block outside its logical range. Change-Id: I424ede112138de459b5ba3bff5e021c4407ccf3d (cherry picked from commit 0ef6263ed2b31b8f9e431971e6c5e8928996c1c8) diff --git a/sc/source/core/data/column4.cxx b/sc/source/core/data/column4.cxx index d1aacdd..8b46e74 100644 --- a/sc/source/core/data/column4.cxx +++ b/sc/source/core/data/column4.cxx @@ -499,11 +499,16 @@ public: void ScColumn::SplitFormulaGroupByRelativeRef( const ScRange& rBoundRange ) { + if (rBoundRange.aStart.Row() >= MAXROW) + // Nothing to split. + return; + std::vector<SCROW> aBounds; // Cut at row boundaries first. aBounds.push_back(rBoundRange.aStart.Row()); - aBounds.push_back(rBoundRange.aEnd.Row()+1); + if (rBoundRange.aEnd.Row() < MAXROW) + aBounds.push_back(rBoundRange.aEnd.Row()+1); sc::SharedFormulaUtil::splitFormulaCellGroups(maCells, aBounds); RelativeRefBoundChecker aFunc(rBoundRange); diff --git a/sc/source/core/data/table3.cxx b/sc/source/core/data/table3.cxx index c1a81e6..946416d 100644 --- a/sc/source/core/data/table3.cxx +++ b/sc/source/core/data/table3.cxx @@ -771,8 +771,11 @@ void ScTable::SortReorderByColumn( sc::CellStoreType& rCells = aCol[nCol].maCells; sc::CellStoreType::position_type aPos = rCells.position(nRow1); sc::SharedFormulaUtil::joinFormulaCellAbove(aPos); - aPos = rCells.position(aPos.first, nRow2+1); - sc::SharedFormulaUtil::joinFormulaCellAbove(aPos); + if (nRow2 < MAXROW) + { + aPos = rCells.position(aPos.first, nRow2+1); + sc::SharedFormulaUtil::joinFormulaCellAbove(aPos); + } } } commit bb6fdcc061d736ec4146dbf1244159835021b6e1 Author: Kohei Yoshida <kohei.yosh...@collabora.com> Date: Thu Sep 18 14:22:27 2014 -0400 Update mdds to 0.11.0. (cherry picked from commit 3f3b404b643f907f9feff893324174c00c3c4e4a) Conflicts: download.lst Change-Id: Ia4c413d313aafc1ba46d3d856145c0eb51a7d6ec diff --git a/download.lst b/download.lst index 41556c5..908c660 100644 --- a/download.lst +++ b/download.lst @@ -92,7 +92,7 @@ export LIBXML_TARBALL := 9c0cfef285d5c4a5c80d00904ddab380-libxml2-2.9.1.tar.gz export LIBXSLT_TARBALL := 9667bf6f9310b957254fdcf6596600b7-libxslt-1.1.28.tar.gz export LPSOLVE_TARBALL := 26b3e95ddf3d9c077c480ea45874b3b8-lp_solve_5.5.tar.gz export MARIADB_TARBALL := 05f84c95b610c21c5fd510d10debcabf-mariadb-native-client-1.0.0.tar.bz2 -export MDDS_TARBALL := aa5ca9d1ed1082890835afab26400a39-mdds_0.10.3.tar.bz2 +export MDDS_TARBALL := a67a46ec9d00d283a7cd8dbdd2906b59-mdds_0.11.0.tar.bz2 export MYSQLCPPCONN_TARBALL := 0981bda6548a8c8233ffce2b6e4b2a23-mysql-connector-c++-1.1.0.tar.gz export MYTHES_TARBALL := 46e92b68e31e858512b680b3b61dc4c1-mythes-1.2.3.tar.gz export NEON_TARBALL := ff369e69ef0f0143beb5626164e87ae2-neon-0.29.5.tar.gz commit 374c9f7e023a06cb95694fc65f9232e21b1bad59 Author: Matúš Kukan <matus.ku...@collabora.com> Date: Wed Sep 17 11:57:24 2014 +0200 bnc#580834: HTML import: Embed images if source URL is a local file. Use also INET_PROT_FILE to determine whether to import images as links. (cherry picked from commits 3914a711060341345f15b83656457f90095f32d6 and 72703173066a2db5c977d422ace59d60b998bbfc) Conflicts: sw/source/filter/html/htmlgrin.cxx Change-Id: I22a5ded92d9aac4220c0c4fa8bb8a9490f5c61a6 diff --git a/sw/source/filter/html/htmlgrin.cxx b/sw/source/filter/html/htmlgrin.cxx index ec6c8f9..4052027 100644 --- a/sw/source/filter/html/htmlgrin.cxx +++ b/sw/source/filter/html/htmlgrin.cxx @@ -696,8 +696,9 @@ IMAGE_SETEVENT: aFrmSize.SetHeightPercent( nPrcHeight ); aFrmSet.Put( aFrmSize ); - Graphic aEmptyGrf; - if( sGrfNm.startsWith("data:") ) + Graphic aGraphic; + INetURLObject aGraphicURL( sGrfNm ); + if( aGraphicURL.GetProtocol() == INET_PROT_DATA ) { // use embedded base64 encoded data ::com::sun::star::uno::Sequence< sal_Int8 > aPass; @@ -705,15 +706,22 @@ IMAGE_SETEVENT: ::sax::Converter::decodeBase64(aPass, sBase64Data); if( aPass.hasElements() ) { - SvMemoryStream aStream(aPass.getArray(), aPass.getLength(), STREAM_READ); - GraphicFilter::GetGraphicFilter().ImportGraphic( aEmptyGrf, OUString(), aStream ); + SvMemoryStream aStream(aPass.getArray(), aPass.getLength(), STREAM_READ); + if (GRFILTER_OK == GraphicFilter::GetGraphicFilter().ImportGraphic(aGraphic, "", aStream)) + sGrfNm = ""; } } - else + else if (aGraphicURL.GetProtocol() == INET_PROT_FILE) + { + if (GRFILTER_OK == GraphicFilter::GetGraphicFilter().ImportGraphic(aGraphic, aGraphicURL)) + sGrfNm = ""; + } + if (!sGrfNm.isEmpty()) { - aEmptyGrf.SetDefaultType(); + aGraphic.SetDefaultType(); } - SwFrmFmt *pFlyFmt = pDoc->Insert( *pPam, sGrfNm, aEmptyOUStr, &aEmptyGrf, + // passing empty sGrfNm here, means we don't want the graphic to be linked + SwFrmFmt *pFlyFmt = pDoc->Insert( *pPam, sGrfNm, aEmptyOUStr, &aGraphic, &aFrmSet, NULL, NULL ); SwGrfNode *pGrfNd = pDoc->GetNodes()[ pFlyFmt->GetCntnt().GetCntntIdx() ->GetIndex()+1 ]->GetGrfNode(); commit a308c4de399595a346c602ec8500f7e0f2e58ece Author: Kohei Yoshida <kohei.yosh...@collabora.com> Date: Fri Sep 19 09:11:09 2014 -0400 fdo#84009: Be sure to update the sheet index when moving the sort range. Change-Id: Ic9ad51b33f6dfb6f90e76439c27eeff25ec4c7da (cherry picked from commit 5fd4679e7b92f344ea867e0dca1fc4c9363ae2cd) diff --git a/sc/source/ui/docshell/dbdocfun.cxx b/sc/source/ui/docshell/dbdocfun.cxx index 29d2da1..aa1e322 100644 --- a/sc/source/ui/docshell/dbdocfun.cxx +++ b/sc/source/ui/docshell/dbdocfun.cxx @@ -462,6 +462,7 @@ sal_Bool ScDBDocFunc::Sort( SCTAB nTab, const ScSortParam& rSortParam, return false; aLocalParam.MoveToDest(); + nTab = aLocalParam.nDestTab; } ScEditableTester aTester( pDoc, nTab, aLocalParam.nCol1,aLocalParam.nRow1, commit 425f18fd3b6a87694c540d4d0bb37c5b64df557b Author: LuboÅ¡ LuÅák <l.lu...@collabora.com> Date: Sun Sep 21 17:52:58 2014 +0200 handle docx's w:anchor layoutInCell attribute (bnc#891663) (cherry picked from commit 3891ba42a886fa85eb43da24d1badf44e765d54c) Conflicts: sw/qa/extras/ooxmlimport/ooxmlimport.cxx writerfilter/source/dmapper/PropertyIds.cxx writerfilter/source/dmapper/PropertyIds.hxx Change-Id: I8268567b84aa0f6e42624bfd0f79c8c49c153edd diff --git a/sw/qa/extras/ooxmlimport/data/bnc891663.docx b/sw/qa/extras/ooxmlimport/data/bnc891663.docx new file mode 100644 index 0000000..d5f057e Binary files /dev/null and b/sw/qa/extras/ooxmlimport/data/bnc891663.docx differ diff --git a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx index 0035e7b..2a7ab9a 100644 --- a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx +++ b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx @@ -1723,6 +1723,15 @@ DECLARE_OOXMLIMPORT_TEST(testTableBtlrCenter, "table-btlr-center.docx") CPPUNIT_ASSERT_EQUAL(text::VertOrientation::CENTER, getProperty<sal_Int16>(xTable->getCellByName("A2"), "VertOrient")); } +DECLARE_OOXMLIMPORT_TEST(testBnc891663, "bnc891663.docx") +{ + // The image should be inside a cell, so the text in the following cell should be below it. + int imageTop = parseDump("/root/page/body/tab/row[1]/cell[2]/txt[1]/anchored/fly/infos/bounds", "top").toInt32(); + int imageHeight = parseDump("/root/page/body/tab/row[1]/cell[2]/txt[1]/anchored/fly/infos/bounds", "height").toInt32(); + int textNextRowTop = parseDump("/root/page/body/tab/row[2]/cell[1]/txt[1]/infos/bounds", "top").toInt32(); + CPPUNIT_ASSERT( textNextRowTop >= imageTop + imageHeight ); +} + #endif CPPUNIT_PLUGIN_IMPLEMENT(); diff --git a/writerfilter/source/dmapper/GraphicImport.cxx b/writerfilter/source/dmapper/GraphicImport.cxx index 607d92b..2c57337 100644 --- a/writerfilter/source/dmapper/GraphicImport.cxx +++ b/writerfilter/source/dmapper/GraphicImport.cxx @@ -210,6 +210,7 @@ public: sal_Int16 nVertOrient; sal_Int16 nVertRelation; sal_Int32 nWrap; + bool bLayoutInCell; bool bOpaque; bool bContour; bool bContourOutside; @@ -282,6 +283,7 @@ public: ,nVertOrient( text::VertOrientation::NONE ) ,nVertRelation( text::RelOrientation::FRAME ) ,nWrap(0) + ,bLayoutInCell(false) ,bOpaque( true ) ,bContour(false) ,bContourOutside(true) @@ -856,6 +858,8 @@ void GraphicImport::lcl_attribute(Id nName, Value & val) break; case NS_ooxml::LN_CT_Anchor_locked: // 90990; - ignored case NS_ooxml::LN_CT_Anchor_layoutInCell: // 90991; - ignored + m_pImpl->bLayoutInCell = nIntValue != 0; + break; case NS_ooxml::LN_CT_Anchor_hidden: // 90992; - ignored break; case NS_ooxml::LN_CT_Anchor_allowOverlap: // 90993; @@ -1508,6 +1512,9 @@ uno::Reference< text::XTextContent > GraphicImport::createGraphicObject( const b } xGraphicObjectProperties->setPropertyValue(rPropNameSupplier.GetName( PROP_SURROUND ), uno::makeAny(m_pImpl->nWrap)); + if( m_pImpl->bLayoutInCell && m_pImpl->nWrap != text::WrapTextMode_THROUGHT ) + xGraphicObjectProperties->setPropertyValue(rPropNameSupplier.GetName( PROP_FOLLOW_TEXT_FLOW ), + uno::makeAny(true)); xGraphicObjectProperties->setPropertyValue(rPropNameSupplier.GetName( PROP_SURROUND_CONTOUR ), uno::makeAny(m_pImpl->bContour)); diff --git a/writerfilter/source/dmapper/PropertyIds.cxx b/writerfilter/source/dmapper/PropertyIds.cxx index d693ddb..14dbc25 100644 --- a/writerfilter/source/dmapper/PropertyIds.cxx +++ b/writerfilter/source/dmapper/PropertyIds.cxx @@ -347,6 +347,7 @@ const OUString& PropertyNameSupplier::GetName( PropertyIds eId ) const case PROP_HORIZONTAL_MERGE: sName = "HorizontalMerge"; break; case PROP_APPLY_PARAGRAPH_MARK_FORMAT_TO_NUMBERING : sName = "ApplyParagraphMarkFormatToNumbering"; break; case PROP_CELL_DIRECTION: sName = "CellDirection"; break; + case PROP_FOLLOW_TEXT_FLOW: sName = "IsFollowingTextFlow"; break; } ::std::pair<PropertyNameMap_t::iterator,bool> aInsertIt = m_pImpl->aNameMap.insert( PropertyNameMap_t::value_type( eId, sName )); diff --git a/writerfilter/source/dmapper/PropertyIds.hxx b/writerfilter/source/dmapper/PropertyIds.hxx index 1f63179..3c03ed3 100644 --- a/writerfilter/source/dmapper/PropertyIds.hxx +++ b/writerfilter/source/dmapper/PropertyIds.hxx @@ -318,6 +318,7 @@ enum PropertyIds ,PROP_HORIZONTAL_MERGE ,PROP_APPLY_PARAGRAPH_MARK_FORMAT_TO_NUMBERING ,PROP_CELL_DIRECTION + ,PROP_FOLLOW_TEXT_FLOW }; struct PropertyNameSupplier_Impl; class PropertyNameSupplier commit d8acb63264d80e54d639318a2bfd341d8e293879 Author: Caolán McNamara <caol...@redhat.com> Date: Sun Sep 21 17:37:05 2014 +0100 set mpFirstBand back to 0 after deleting it bff + valgrind ==30470== Invalid read of size 8 ==30470== at 0xA02103F: RegionBand::isSingleRectangle() const (regionband.cxx:294) ==30470== by 0xA01F562: WriteRegion(SvStream&, Region const&) (region.cxx:1640) ==30470== by 0x9F01FD4: MetaClipRegionAction::Write(SvStream&, ImplMetaWriteData*) (metaact.cxx:2487) ... ==30470== Address 0x1d175980 is 0 bytes inside a block of size 56 free'd ==30470== at 0x4A07991: operator delete(void*) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==30470== by 0xA020BB1: RegionBand::implReset() (regionband.cxx:87) ==30470== by 0xA020EF2: RegionBand::load(SvStream&) (regionband.cxx:249) (cherry picked from commit 1ca892488a7a6a9c35fc99c41cd4af788fe0df6e) Conflicts: vcl/source/gdi/regionband.cxx Change-Id: I2468d43c7e73b3390f355358990f8af30b5f026e diff --git a/vcl/source/gdi/regionband.cxx b/vcl/source/gdi/regionband.cxx index 4268e0f..3097f37 100644 --- a/vcl/source/gdi/regionband.cxx +++ b/vcl/source/gdi/regionband.cxx @@ -103,6 +103,7 @@ void RegionBand::implReset() } mpLastCheckedBand = 0; + mpFirstBand = 0; DBG_CHKTHIS(RegionBand, ImplDbgTestRegionBand); } commit 894eed4645fe44434174e1784006500ce07b90f0 Author: Stephan Bergmann <sberg...@redhat.com> Date: Mon Sep 22 13:08:21 2014 +0200 Related fdo#77813: $(workdirurl) was always empty Regression introduced with cb021fcafba06ccf973f2abe229a4761c0a002de "fdo#46037: remove 1 comphelper/configurationhelper in framework." Change-Id: I07727d93315e0d3d87004ce71708271e90a173a3 (cherry picked from commit 3c6da8e49a96513eda73656f3f6212f980a74b51) diff --git a/framework/source/services/substitutepathvars.cxx b/framework/source/services/substitutepathvars.cxx index 7e98436..dc5f97a 100644 --- a/framework/source/services/substitutepathvars.cxx +++ b/framework/source/services/substitutepathvars.cxx @@ -680,8 +680,7 @@ OUString SubstitutePathVariables::GetWorkPath() const { OUString aWorkPath; css::uno::Reference< css::container::XHierarchicalNameAccess > xPaths(officecfg::Office::Paths::Paths::get(m_xContext), css::uno::UNO_QUERY_THROW); - OUString xWork; - if (!(xPaths->getByHierarchicalName("['Work']/WritePath") >>= xWork)) + if (!(xPaths->getByHierarchicalName("['Work']/WritePath") >>= aWorkPath)) // fallback in case config layer does not return an useable work dir value. aWorkPath = GetWorkVariableValue();
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits