[Libreoffice-commits] core.git: Branch 'distro/collabora/lov-5.2' - 9 commits - canvas/source sc/inc sc/source sd/uiconfig shell/source svl/source sw/source uui/uiconfig vcl/inc vcl/source
Stephan Bergmann
sbergman at redhat.com
Tue Aug 23 17:39:46 UTC 2016
canvas/source/cairo/cairo_canvashelper.cxx | 22 +++++
sc/inc/scmatrix.hxx | 10 +-
sc/source/core/tool/scmatrix.cxx | 82 +++++++++++++++++----
sc/source/filter/oox/stylesbuffer.cxx | 16 +++-
sc/source/ui/docshell/externalrefmgr.cxx | 6 +
sd/uiconfig/simpress/ui/sidebarslidebackground.ui | 6 -
shell/source/backends/desktopbe/desktopbackend.cxx | 16 ++--
svl/source/numbers/zformat.cxx | 2
sw/source/core/doc/docfld.cxx | 4 -
uui/uiconfig/ui/authfallback.ui | 3
vcl/inc/helpwin.hxx | 1
vcl/source/app/help.cxx | 11 ++
12 files changed, 148 insertions(+), 31 deletions(-)
New commits:
commit fe76d3f20cfb0ed48ef6210fa44bd7fea6941366
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Mon Aug 22 17:36:15 2016 +0200
tdf#101661: Report XDG_{DOCUMENTS,TEMPLATES}_DIR only when it exists
...as had been done in the GConf-based backend prior to
3cf557c12d27f1b2250e69a543136da098112d80 "drop gconf integration as per ESC
decision".
Change-Id: I56f256aaec542e0a62fc30a37d5c982e93e77812
(cherry picked from commit 4278cac8935339dddfa5473490124d11061a0b38)
Reviewed-on: https://gerrit.libreoffice.org/28343
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Eike Rathke <erack at redhat.com>
diff --git a/shell/source/backends/desktopbe/desktopbackend.cxx b/shell/source/backends/desktopbe/desktopbackend.cxx
index 550e87a..fdbe4d4 100644
--- a/shell/source/backends/desktopbe/desktopbackend.cxx
+++ b/shell/source/backends/desktopbe/desktopbackend.cxx
@@ -252,6 +252,14 @@ OUString xdg_user_dir_lookup (const char *type)
return aHomeDirURL + "/" + OUString::createFromAscii(type);
}
+css::uno::Any xdgDirectoryIfExists(char const * type) {
+ auto url = xdg_user_dir_lookup(type);
+ return css::uno::Any(
+ osl::Directory(url).open() == osl::FileBase::E_None
+ ? css::beans::Optional<css::uno::Any>(true, css::uno::Any(url))
+ : css::beans::Optional<css::uno::Any>(false, css::uno::Any()));
+}
+
} // namespace
css::uno::Any Default::getPropertyValue(OUString const & PropertyName)
@@ -261,16 +269,12 @@ css::uno::Any Default::getPropertyValue(OUString const & PropertyName)
{
if (PropertyName == "TemplatePathVariable")
{
- OUString aDirURL = xdg_user_dir_lookup("Templates");
- css::uno::Any aValue(aDirURL);
- return css::uno::makeAny(css::beans::Optional<css::uno::Any>(true, aValue));
+ return xdgDirectoryIfExists("Templates");
}
if (PropertyName == "WorkPathVariable")
{
- OUString aDirURL = xdg_user_dir_lookup("Documents");
- css::uno::Any aValue(aDirURL);
- return css::uno::makeAny(css::beans::Optional<css::uno::Any>(true, aValue));
+ return xdgDirectoryIfExists("Documents");
}
if ( PropertyName == "EnableATToolSupport" ||
commit a1ec7e58e1862339c0c020657179bba5acb8ea94
Author: Caolán McNamara <caolanm at redhat.com>
Date: Fri Aug 19 15:08:35 2016 +0100
Resolves: tdf#100901 crash pressing tab in r-o document with hyperlink
rather odd union in use here. Trying to call SwTextField::GetStart
on SwTextINetFormat blows up under visual studio.
Change-Id: Ic8145d7645bd6a68ef19e018311a4de6e6958bcb
(cherry picked from commit 3196e949bb23a33bdb8700dbe27782e0e6c8f1e6)
Reviewed-on: https://gerrit.libreoffice.org/28242
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Thorsten Behrens <Thorsten.Behrens at CIB.de>
diff --git a/sw/source/core/doc/docfld.cxx b/sw/source/core/doc/docfld.cxx
index 35e3696..56ef919 100644
--- a/sw/source/core/doc/docfld.cxx
+++ b/sw/source/core/doc/docfld.cxx
@@ -322,9 +322,11 @@ sal_Int32 SetGetExpField::GetCntPosFromContent() const
switch( eSetGetExpFieldType )
{
case TEXTFIELD:
- case TEXTINET:
nRet = CNTNT.pTextField->GetStart();
break;
+ case TEXTINET:
+ nRet = CNTNT.pTextINet->GetStart();
+ break;
case TEXTTOXMARK:
nRet = CNTNT.pTextTOX->GetStart();
break;
commit 461a2bb0eb9065bb31241b0abd95f28cadeb605e
Author: Eike Rathke <erack at redhat.com>
Date: Tue Aug 23 00:28:33 2016 +0200
Resolves: tdf#101137 handle empty elements in matrix concatenation
Change-Id: I2de90e1cdfc4f215f6d7c644e0ab74372a4c2639
(cherry picked from commit 31d39c24e1ff2d3602e0212eeeecd8de88da6d38)
Reviewed-on: https://gerrit.libreoffice.org/28335
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>
diff --git a/sc/inc/scmatrix.hxx b/sc/inc/scmatrix.hxx
index a5c810f..62cddee 100644
--- a/sc/inc/scmatrix.hxx
+++ b/sc/inc/scmatrix.hxx
@@ -127,6 +127,7 @@ public:
typedef std::function<void(size_t, size_t, double)> DoubleOpFunction;
typedef std::function<void(size_t, size_t, bool)> BoolOpFunction;
typedef std::function<void(size_t, size_t, svl::SharedString)> StringOpFunction;
+ typedef std::function<void(size_t, size_t)> EmptyOpFunction;
/**
* When adding all numerical matrix elements for a scalar result such as
@@ -407,7 +408,8 @@ public:
virtual std::vector<ScMatrix::IterateResult> Collect(bool bTextAsZero, const std::vector<std::unique_ptr<sc::op::Op>>& aOp) = 0;
virtual void ExecuteOperation(const std::pair<size_t, size_t>& rStartPos, const std::pair<size_t, size_t>& rEndPos,
- DoubleOpFunction aDoubleFunc, BoolOpFunction aBoolFunc, StringOpFunction aStringFunc) const = 0;
+ DoubleOpFunction aDoubleFunc, BoolOpFunction aBoolFunc, StringOpFunction aStringFunc,
+ EmptyOpFunction aEmptyFunc) const = 0;
virtual void MatConcat(SCSIZE nMaxCol, SCSIZE nMaxRow, const ScMatrixRef& xMat1, const ScMatrixRef& xMat2,
SvNumberFormatter& rFormatter, svl::SharedStringPool& rPool) = 0;
@@ -620,7 +622,8 @@ public:
virtual std::vector<ScMatrix::IterateResult> Collect(bool bTextAsZero, const std::vector<std::unique_ptr<sc::op::Op>>& aOp) override;
virtual void ExecuteOperation(const std::pair<size_t, size_t>& rStartPos, const std::pair<size_t, size_t>& rEndPos,
- DoubleOpFunction aDoubleFunc, BoolOpFunction aBoolFunc, StringOpFunction aStringFunc) const override;
+ DoubleOpFunction aDoubleFunc, BoolOpFunction aBoolFunc, StringOpFunction aStringFunc,
+ EmptyOpFunction aEmptyFunc) const override;
ScFullMatrix& operator+= ( const ScFullMatrix& r );
virtual void MatConcat(SCSIZE nMaxCol, SCSIZE nMaxRow, const ScMatrixRef& xMat1, const ScMatrixRef& xMat2,
@@ -835,7 +838,8 @@ public:
virtual std::vector<ScMatrix::IterateResult> Collect(bool bTextAsZero, const std::vector<std::unique_ptr<sc::op::Op>>& aOp) override;
virtual void ExecuteOperation(const std::pair<size_t, size_t>& rStartPos, const std::pair<size_t, size_t>& rEndPos,
- DoubleOpFunction aDoubleFunc, BoolOpFunction aBoolFunc, StringOpFunction aStringFunc) const override;
+ DoubleOpFunction aDoubleFunc, BoolOpFunction aBoolFunc, StringOpFunction aStringFunc,
+ EmptyOpFunction aEmptyFunc) const override;
ScVectorRefMatrix& operator+=(const ScVectorRefMatrix& r);
diff --git a/sc/source/core/tool/scmatrix.cxx b/sc/source/core/tool/scmatrix.cxx
index 9dfc2e5..0974143 100644
--- a/sc/source/core/tool/scmatrix.cxx
+++ b/sc/source/core/tool/scmatrix.cxx
@@ -317,7 +317,8 @@ public:
void ExecuteOperation(const std::pair<size_t, size_t>& rStartPos,
const std::pair<size_t, size_t>& rEndPos, const ScFullMatrix::DoubleOpFunction& aDoubleFunc,
- const ScFullMatrix::BoolOpFunction& aBoolFunc, const ScFullMatrix::StringOpFunction& aStringFunc) const;
+ const ScFullMatrix::BoolOpFunction& aBoolFunc, const ScFullMatrix::StringOpFunction& aStringFunc,
+ const ScFullMatrix::EmptyOpFunction& aEmptyFunc) const;
template<typename T>
std::vector<ScMatrix::IterateResult> ApplyCollectOperation(bool bTextAsZero, const std::vector<std::unique_ptr<T>>& aOp);
@@ -2254,13 +2255,15 @@ public:
WalkElementBlockOperation(size_t nRowSize, size_t /*nColSize*/,
ScFullMatrix::DoubleOpFunction aDoubleFunc,
ScFullMatrix::BoolOpFunction aBoolFunc,
- ScFullMatrix::StringOpFunction aStringFunc):
+ ScFullMatrix::StringOpFunction aStringFunc,
+ ScFullMatrix::EmptyOpFunction aEmptyFunc):
mnRowSize(nRowSize),
mnRowPos(0),
mnColPos(0),
maDoubleFunc(aDoubleFunc),
maBoolFunc(aBoolFunc),
- maStringFunc(aStringFunc)
+ maStringFunc(aStringFunc),
+ maEmptyFunc(aEmptyFunc)
{
}
@@ -2328,8 +2331,32 @@ public:
}
}
break;
- case mdds::mtm::element_integer:
case mdds::mtm::element_empty:
+ {
+ for (size_t i=0; i < node.size; ++i)
+ {
+ maEmptyFunc(mnRowPos, mnColPos);
+ ++mnRowPos;
+ if (mnRowPos >= mnRowSize)
+ {
+ mnRowPos = 0;
+ ++mnColPos;
+ }
+ }
+ }
+ break;
+ case mdds::mtm::element_integer:
+ {
+ SAL_WARN("sc.core","WalkElementBlockOperation - unhandled element_integer");
+ // No function (yet?), but advance row and column count.
+ mnColPos += node.size / mnRowSize;
+ mnRowPos += node.size % mnRowSize;
+ if (mnRowPos >= mnRowSize)
+ {
+ mnRowPos = 0;
+ ++mnColPos;
+ }
+ }
break;
}
}
@@ -2343,16 +2370,18 @@ private:
ScFullMatrix::DoubleOpFunction maDoubleFunc;
ScFullMatrix::BoolOpFunction maBoolFunc;
ScFullMatrix::StringOpFunction maStringFunc;
+ ScFullMatrix::EmptyOpFunction maEmptyFunc;
};
}
void ScMatrixImpl::ExecuteOperation(const std::pair<size_t, size_t>& rStartPos,
const std::pair<size_t, size_t>& rEndPos, const ScMatrix::DoubleOpFunction& aDoubleFunc,
- const ScMatrix::BoolOpFunction& aBoolFunc, const ScMatrix::StringOpFunction& aStringFunc) const
+ const ScMatrix::BoolOpFunction& aBoolFunc, const ScMatrix::StringOpFunction& aStringFunc,
+ const ScMatrix::EmptyOpFunction& aEmptyFunc) const
{
WalkElementBlockOperation aFunc(maMat.size().row, maMat.size().column,
- aDoubleFunc, aBoolFunc, aStringFunc);
+ aDoubleFunc, aBoolFunc, aStringFunc, aEmptyFunc);
maMat.walk(aFunc, MatrixImplType::size_pair_type(rStartPos.first, rStartPos.second),
MatrixImplType::size_pair_type(rEndPos.first, rEndPos.second));
}
@@ -2456,6 +2485,12 @@ void ScMatrixImpl::MatConcat(SCSIZE nMaxCol, SCSIZE nMaxRow, const ScMatrixRef&
aString[get_index(nMaxRow, nMaxCol, nRow, nCol, nRowOffset, nColOffset)] = aString[get_index(nMaxRow, nMaxCol, nRow, nCol, nRowOffset, nColOffset)] + aStr.getString();
};
+ std::function<void(size_t, size_t)> aEmptyFunc =
+ [&](size_t /*nRow*/, size_t /*nCol*/)
+ {
+ // Nothing. Concatenating an empty string to an existing string.
+ };
+
if (nC1 == 1 || nR1 == 1)
{
@@ -2468,12 +2503,18 @@ void ScMatrixImpl::MatConcat(SCSIZE nMaxCol, SCSIZE nMaxRow, const ScMatrixRef&
for (size_t j = 0; j < nColRep; ++j)
{
nColOffset = j;
- xMat1->ExecuteOperation(std::pair<size_t, size_t>(0, 0), std::pair<size_t, size_t>(std::min(nR1, nMaxRow) - 1, std::min(nC1, nMaxCol) - 1), aDoubleFunc, aBoolFunc, aStringFunc);
+ xMat1->ExecuteOperation(
+ std::pair<size_t, size_t>(0, 0),
+ std::pair<size_t, size_t>(std::min(nR1, nMaxRow) - 1, std::min(nC1, nMaxCol) - 1),
+ aDoubleFunc, aBoolFunc, aStringFunc, aEmptyFunc);
}
}
}
else
- xMat1->ExecuteOperation(std::pair<size_t, size_t>(0, 0), std::pair<size_t, size_t>(nMaxRow - 1, nMaxCol - 1), aDoubleFunc, aBoolFunc, aStringFunc);
+ xMat1->ExecuteOperation(
+ std::pair<size_t, size_t>(0, 0),
+ std::pair<size_t, size_t>(nMaxRow - 1, nMaxCol - 1),
+ aDoubleFunc, aBoolFunc, aStringFunc, aEmptyFunc);
std::vector<svl::SharedString> aSharedString(nMaxCol*nMaxRow);
@@ -2507,6 +2548,13 @@ void ScMatrixImpl::MatConcat(SCSIZE nMaxCol, SCSIZE nMaxRow, const ScMatrixRef&
rStringPool.intern(aString[get_index(nMaxRow, nMaxCol, nRow, nCol, nRowOffset, nColOffset)] + aStr.getString());
};
+ std::function<void(size_t, size_t)> aEmptyFunc2 =
+ [&](size_t nRow, size_t nCol)
+ {
+ aSharedString[get_index(nMaxRow, nMaxCol, nRow, nCol, nRowOffset, nColOffset)] =
+ rStringPool.intern(aString[get_index(nMaxRow, nMaxCol, nRow, nCol, nRowOffset, nColOffset)]);
+ };
+
nRowOffset = 0;
nColOffset = 0;
if (nC2 == 1 || nR2 == 1)
@@ -2520,12 +2568,18 @@ void ScMatrixImpl::MatConcat(SCSIZE nMaxCol, SCSIZE nMaxRow, const ScMatrixRef&
for (size_t j = 0; j < nColRep; ++j)
{
nColOffset = j;
- xMat2->ExecuteOperation(std::pair<size_t, size_t>(0, 0), std::pair<size_t, size_t>(std::min(nR2, nMaxRow) - 1, std::min(nC2, nMaxCol) - 1), aDoubleFunc2, aBoolFunc2, aStringFunc2);
+ xMat2->ExecuteOperation(
+ std::pair<size_t, size_t>(0, 0),
+ std::pair<size_t, size_t>(std::min(nR2, nMaxRow) - 1, std::min(nC2, nMaxCol) - 1),
+ aDoubleFunc2, aBoolFunc2, aStringFunc2, aEmptyFunc2);
}
}
}
else
- xMat2->ExecuteOperation(std::pair<size_t, size_t>(0, 0), std::pair<size_t, size_t>(nMaxRow - 1, nMaxCol - 1), aDoubleFunc2, aBoolFunc2, aStringFunc2);
+ xMat2->ExecuteOperation(
+ std::pair<size_t, size_t>(0, 0),
+ std::pair<size_t, size_t>(nMaxRow - 1, nMaxCol - 1),
+ aDoubleFunc2, aBoolFunc2, aStringFunc2, aEmptyFunc2);
aString.clear();
@@ -3189,9 +3243,9 @@ void ScFullMatrix::PowOp( bool bFlag, double fVal, ScMatrix& rMat)
void ScFullMatrix::ExecuteOperation(const std::pair<size_t, size_t>& rStartPos,
const std::pair<size_t, size_t>& rEndPos, DoubleOpFunction aDoubleFunc,
- BoolOpFunction aBoolFunc, StringOpFunction aStringFunc) const
+ BoolOpFunction aBoolFunc, StringOpFunction aStringFunc, EmptyOpFunction aEmptyFunc) const
{
- pImpl->ExecuteOperation(rStartPos, rEndPos, aDoubleFunc, aBoolFunc, aStringFunc);
+ pImpl->ExecuteOperation(rStartPos, rEndPos, aDoubleFunc, aBoolFunc, aStringFunc, aEmptyFunc);
}
std::vector<ScMatrix::IterateResult> ScFullMatrix::Collect(bool bTextAsZero, const std::vector<std::unique_ptr<sc::op::Op>>& aOp)
@@ -3954,10 +4008,10 @@ std::vector<ScMatrix::IterateResult> ScVectorRefMatrix::Collect(bool bTextAsZero
void ScVectorRefMatrix::ExecuteOperation(const std::pair<size_t, size_t>& rStartPos,
const std::pair<size_t, size_t>& rEndPos, DoubleOpFunction aDoubleFunc,
- BoolOpFunction aBoolFunc, StringOpFunction aStringFunc) const
+ BoolOpFunction aBoolFunc, StringOpFunction aStringFunc, EmptyOpFunction aEmptyFunc) const
{
const_cast<ScVectorRefMatrix*>(this)->ensureFullMatrix();
- mpFullMatrix->ExecuteOperation(rStartPos, rEndPos, aDoubleFunc, aBoolFunc, aStringFunc);
+ mpFullMatrix->ExecuteOperation(rStartPos, rEndPos, aDoubleFunc, aBoolFunc, aStringFunc, aEmptyFunc);
}
void ScFullMatrix::MatConcat(SCSIZE nMaxCol, SCSIZE nMaxRow,
diff --git a/sc/source/ui/docshell/externalrefmgr.cxx b/sc/source/ui/docshell/externalrefmgr.cxx
index f703b67..4ac4112 100644
--- a/sc/source/ui/docshell/externalrefmgr.cxx
+++ b/sc/source/ui/docshell/externalrefmgr.cxx
@@ -865,9 +865,13 @@ void ScExternalRefCache::setCellRangeData(sal_uInt16 nFileId, const ScRange& rRa
{
pTabData->setCell(col + nCol1, row + nRow1, new formula::FormulaStringToken(val), 0, false);
};
+ ScFullMatrix::EmptyOpFunction aEmptyFunc = [=](size_t /*row*/, size_t /*col*/) -> void
+ {
+ // Nothing. Empty cell.
+ };
pMat->ExecuteOperation(std::pair<size_t, size_t>(0, 0),
std::pair<size_t, size_t>(nRow2-nRow1, nCol2-nCol1),
- aDoubleFunc, aBoolFunc, aStringFunc);
+ aDoubleFunc, aBoolFunc, aStringFunc, aEmptyFunc);
// Mark the whole range 'cached'.
pTabData->setCachedCellRange(nCol1, nRow1, nCol2, nRow2);
}
commit bd10131e375a7a5f875cd1a35d5ec7b4e53dfdfd
Author: Yousuf Philips <philipz85 at hotmail.com>
Date: Sun Aug 21 10:11:44 2016 +0400
tdf#89466: Adjust alignment and add left and right margins
Change-Id: Ifcdd7586523d0cf839c9d896ce0d38570f822175
Reviewed-on: https://gerrit.libreoffice.org/28268
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Yousuf Philips <philipz85 at hotmail.com>
(cherry picked from commit 12c152ccbf2890378b92e7d00ecc532fee36b83f)
Reviewed-on: https://gerrit.libreoffice.org/28316
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt at cib.de>
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt at cib.de>
diff --git a/sd/uiconfig/simpress/ui/sidebarslidebackground.ui b/sd/uiconfig/simpress/ui/sidebarslidebackground.ui
index 4191634..6e53847 100644
--- a/sd/uiconfig/simpress/ui/sidebarslidebackground.ui
+++ b/sd/uiconfig/simpress/ui/sidebarslidebackground.ui
@@ -11,9 +11,9 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">center</property>
- <property name="valign">center</property>
- <property name="hexpand">True</property>
- <property name="vexpand">True</property>
+ <property name="valign">start</property>
+ <property name="margin_left">9</property>
+ <property name="margin_right">15</property>
<property name="border_width">6</property>
<property name="row_spacing">6</property>
<property name="column_spacing">6</property>
commit ce681285ac1762ec09f1e73ba2b65c882f5e6d2f
Author: Bartosz Kosiorek <gang65 at poczta.onet.pl>
Date: Sat Aug 20 23:11:24 2016 +0200
tdf#70565 Set correct default values to "0" of xfId attribute
When xfId is not exist during .xlsx import
it must have values set to "0".
It is not impacts spreadsheets created with MS Excel,
as xfId attribute is always created during export to .xlsx
Not setting "0" value is causing wrong .xlsx import by LibreOffice,
for spreadsheets created by external applications (ex. SAP BI).
Change-Id: I1fb685f7ad38bcdb6cce78e6cf49e1825330f661
Reviewed-on: https://gerrit.libreoffice.org/28266
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>
diff --git a/sc/source/filter/oox/stylesbuffer.cxx b/sc/source/filter/oox/stylesbuffer.cxx
index 6b056a0..3f73c09 100644
--- a/sc/source/filter/oox/stylesbuffer.cxx
+++ b/sc/source/filter/oox/stylesbuffer.cxx
@@ -2072,7 +2072,21 @@ Xf::Xf( const WorkbookHelper& rHelper ) :
void Xf::importXf( const AttributeList& rAttribs, bool bCellXf )
{
maModel.mbCellXf = bCellXf;
- maModel.mnStyleXfId = rAttribs.getInteger( XML_xfId, -1 );
+ // tdf#70565 Set proper default value to "0" of xfId attribute
+ // When xfId is not exist during .xlsx import
+ // it must have values set to "0".
+ // Is is not impacts spreadsheets created with MS Excel,
+ // as xfId attribute is always created during export to .xlsx
+ // Not setting "0" value is causing wrong .xlsx import by LibreOffice,
+ // for spreadsheets created by external applications (ex. SAP BI).
+ if ( maModel.mbCellXf )
+ {
+ maModel.mnStyleXfId = rAttribs.getInteger( XML_xfId, 0 );
+ }
+ else
+ {
+ maModel.mnStyleXfId = rAttribs.getInteger( XML_xfId, -1 );
+ }
maModel.mnFontId = rAttribs.getInteger( XML_fontId, -1 );
maModel.mnNumFmtId = rAttribs.getInteger( XML_numFmtId, -1 );
maModel.mnBorderId = rAttribs.getInteger( XML_borderId, -1 );
commit 4849dc3fddab76d431c9b973cd7a3f0bfff29c5c
Author: Yousuf Philips <philipz85 at hotmail.com>
Date: Fri Aug 19 11:41:29 2016 +0400
tdf#87938 Reduce the width of the authentication dialog
Change-Id: I905c91be24dacd96cbce6eee2860350cfbf6700c
Reviewed-on: https://gerrit.libreoffice.org/28232
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Thorsten Behrens <Thorsten.Behrens at CIB.de>
Reviewed-by: Samuel Mehrbrodt <s.mehrbrodt at gmail.com>
diff --git a/uui/uiconfig/ui/authfallback.ui b/uui/uiconfig/ui/authfallback.ui
index d99fa99..0084916 100644
--- a/uui/uiconfig/ui/authfallback.ui
+++ b/uui/uiconfig/ui/authfallback.ui
@@ -95,9 +95,11 @@
<object class="GtkBox" id="box1">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="halign">center</property>
<child>
<object class="GtkLabel" id="google_prefix_label">
<property name="can_focus">False</property>
+ <property name="margin_right">3</property>
<property name="label" translatable="no">G-</property>
</object>
<packing>
@@ -111,6 +113,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="invisible_char">●</property>
+ <property name="width_chars">6</property>
</object>
<packing>
<property name="expand">False</property>
commit 05d04b7f955c761974fe002551389435e0c980a7
Author: Laurent Balland-Poirier <laurent.balland-poirier at laposte.net>
Date: Sun Aug 21 22:57:20 2016 +0200
tdf#101636 Test index before reading OUString
Change-Id: I0a4c02b172fc6d3273f6aa2cca855c27705b4d68
Reviewed-on: https://gerrit.libreoffice.org/28282
Reviewed-by: Eike Rathke <erack at redhat.com>
Tested-by: Eike Rathke <erack at redhat.com>
(cherry picked from commit 734eb8b034c8035565d091aa016ce3b8df838b19)
Reviewed-on: https://gerrit.libreoffice.org/28314
diff --git a/svl/source/numbers/zformat.cxx b/svl/source/numbers/zformat.cxx
index 222d731..24ca0f9 100644
--- a/svl/source/numbers/zformat.cxx
+++ b/svl/source/numbers/zformat.cxx
@@ -1419,7 +1419,7 @@ short SvNumberformat::ImpNextSymbol(OUStringBuffer& rString,
nLen--;
break;
case '$' :
- if ( rString[nPos] == '-' )
+ if ( nPos < nLen && rString[nPos] == '-' )
{
// [$-xxx] locale
sBuffSymbol.stripStart('[');
commit 2e207c9a26768168d2ad8bb79c35332e9819f332
Author: Caolán McNamara <caolanm at redhat.com>
Date: Sat Aug 20 17:27:50 2016 +0100
Resolves: tdf#86473 approx 1 pixel high rectangular polygon not drawn
The other implementations of basically this in
vcl/headless/svpgdi.cxx:AddPolygonToPath and
vcl/quartz/salgdicommon.cxx:AddPolygonToPath hook this rounding foo off
getAntiAliasB2DDraw FWIW
Change-Id: Ideec049ec6ca04105721bf8acda44c31b2a73215
(cherry picked from commit 676c9786ff8fac6a6593df51bd9cb3f10854a781)
Reviewed-on: https://gerrit.libreoffice.org/28264
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Thorsten Behrens <Thorsten.Behrens at CIB.de>
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/canvas/source/cairo/cairo_canvashelper.cxx b/canvas/source/cairo/cairo_canvashelper.cxx
index 9518f0f..4800523 100644
--- a/canvas/source/cairo/cairo_canvashelper.cxx
+++ b/canvas/source/cairo/cairo_canvashelper.cxx
@@ -973,7 +973,27 @@ namespace cairocanvas
if( nPointCount > 1)
{
bool bIsBezier = aPolygon.areControlPointsUsed();
- bool bIsRectangle = ::basegfx::tools::isRectangle( aPolygon );
+ bool bIsRectangle = ::basegfx::tools::isRectangle(aPolygon);
+ if (bIsRectangle)
+ {
+ //tdf#86473, if this rectangle will end up after rounding
+ //to have no area, then nothing will be drawn, so remove
+ //such rectangles from the rounding optimization(?) effort
+ basegfx::B2DRange aRange = ::basegfx::tools::getRange(aPolygon);
+ double x1 = aRange.getMinX();
+ double x2 = aRange.getMaxX();
+ double y1 = aRange.getMinY();
+ double y2 = aRange.getMaxY();
+ cairo_matrix_transform_point(&aOrigMatrix, &x1, &y1);
+ cairo_matrix_transform_point(&aOrigMatrix, &x2, &y2);
+ basegfx::B2DRange aRoundedRange(basegfx::fround(x1),
+ basegfx::fround(y1),
+ basegfx::fround(x2),
+ basegfx::fround(y2));
+ bIsRectangle = aRoundedRange.getWidth() != 0.0 &&
+ aRoundedRange.getHeight() != 0.0;
+ }
+
::basegfx::B2DPoint aA, aB, aP;
for( sal_uInt32 j=0; j < nExtendedPointCount; j++ )
commit 63a26161f93c464ed74b430bac02144404467978
Author: rpmbuild <rpmbuild at fedoraproject.org>
Date: Mon Aug 15 15:17:11 2016 +0100
Resolves: tdf#91533 (rhbz#1364335) Tooltips are truncated
Change-Id: Id9ec91ed9652f491e4e2a0556eeed27bf6517002
(cherry picked from commit e527edf06f8befb45b76ee8ebabe62e6dc885e45)
Reviewed-on: https://gerrit.libreoffice.org/28219
Reviewed-by: Eike Rathke <erack at redhat.com>
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Thorsten Behrens <Thorsten.Behrens at CIB.de>
diff --git a/vcl/inc/helpwin.hxx b/vcl/inc/helpwin.hxx
index e7cc81a..3864575 100644
--- a/vcl/inc/helpwin.hxx
+++ b/vcl/inc/helpwin.hxx
@@ -47,6 +47,7 @@ private:
virtual void Paint(vcl::RenderContext& rRenderContext, const Rectangle&) override;
virtual void RequestHelp( const HelpEvent& rHEvt ) override;
virtual void ApplySettings(vcl::RenderContext& rRenderContext) override;
+ virtual void StateChanged(StateChangedType nType) override;
virtual OUString GetText() const override;
void ImplShow();
diff --git a/vcl/source/app/help.cxx b/vcl/source/app/help.cxx
index 9b72256..0ebf141 100644
--- a/vcl/source/app/help.cxx
+++ b/vcl/source/app/help.cxx
@@ -277,6 +277,17 @@ HelpTextWindow::HelpTextWindow( vcl::Window* pParent, const OUString& rText, sal
maHideTimer.SetTimeout( rHelpSettings.GetTipTimeout() );
}
+void HelpTextWindow::StateChanged(StateChangedType nType)
+{
+ FloatingWindow::StateChanged(nType);
+ if (nType == StateChangedType::InitShow)
+ {
+ ApplySettings(*this);
+ SetHelpText(maHelpText);
+ Invalidate();
+ }
+}
+
void HelpTextWindow::ApplySettings(vcl::RenderContext& rRenderContext)
{
const StyleSettings& rStyleSettings = rRenderContext.GetSettings().GetStyleSettings();
More information about the Libreoffice-commits
mailing list