[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-4.2' - 11 commits - connectivity/source download.lst filter/source framework/source sc/qa sc/source sw/qa sw/source vcl/source writerfilter/source
Matúš Kukan
matus.kukan at collabora.com
Tue Sep 23 07:10:08 PDT 2014
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.kukan at 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 <mstahl at 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 <nifgraup at 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.yoshida at 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.yoshida at 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.yoshida at 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.kukan at 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.yoshida at 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.lunak at 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 <caolanm at 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 <sbergman at 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();
More information about the Libreoffice-commits
mailing list