[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-5.1' - 15 commits - dtrans/source icon-themes/galaxy sc/inc sc/source svl/source uui/source vcl/source writerfilter/qa writerfilter/source
Caolán McNamara
caolanm at redhat.com
Mon Aug 15 08:28:36 UTC 2016
dtrans/source/win32/ftransl/ftransl.cxx | 28 +-
dtrans/source/win32/ftransl/ftransl.hxx | 4
dtrans/source/win32/ftransl/ftranslentry.cxx | 2
icon-themes/galaxy/cmd/lc_accepttrackedchange.png |binary
icon-themes/galaxy/cmd/lc_accepttrackedchanges.png |binary
icon-themes/galaxy/cmd/lc_commentchangetracking.png |binary
icon-themes/galaxy/cmd/lc_comparedocuments.png |binary
icon-themes/galaxy/cmd/lc_comparedocuments.xcf.bz2 |binary
icon-themes/galaxy/cmd/lc_dataranges.png |binary
icon-themes/galaxy/cmd/lc_deletepage.png |binary
icon-themes/galaxy/cmd/lc_diagramarea.png |binary
icon-themes/galaxy/cmd/lc_diagramaxisz.png |binary
icon-themes/galaxy/cmd/lc_freezepanes.png |binary
icon-themes/galaxy/cmd/lc_insertbookmark.png |binary
icon-themes/galaxy/cmd/lc_insertendnote.png |binary
icon-themes/galaxy/cmd/lc_insertmenutitles.png |binary
icon-themes/galaxy/cmd/lc_insertpagebreak.png |binary
icon-themes/galaxy/cmd/lc_legend.png |binary
icon-themes/galaxy/cmd/lc_nexttrackedchange.png |binary
icon-themes/galaxy/cmd/lc_presentationcurrentslide.png |binary
icon-themes/galaxy/cmd/lc_previoustrackedchange.png |binary
icon-themes/galaxy/cmd/lc_protecttracechangemode.png |binary
icon-themes/galaxy/cmd/lc_rejecttrackedchange.png |binary
icon-themes/galaxy/cmd/lc_resetattributes.png |binary
icon-themes/galaxy/cmd/lc_showtrackedchanges.png |binary
icon-themes/galaxy/cmd/lc_slidemasterpage.png |binary
icon-themes/galaxy/cmd/lc_splitwindow.png |binary
icon-themes/galaxy/cmd/lc_styleupdatebyexample.png |binary
icon-themes/galaxy/cmd/lc_togglesheetgrid.png |binary
icon-themes/galaxy/cmd/lc_trackchanges.png |binary
icon-themes/galaxy/cmd/lc_trackchangesall.xcf.bz2 |binary
icon-themes/galaxy/cmd/lc_trackchangesbar.png |binary
icon-themes/galaxy/cmd/lc_webhtml.png |binary
icon-themes/galaxy/cmd/lc_webhtml.xcf.bz2 |binary
icon-themes/galaxy/cmd/sc_insertbookmark.png |binary
icon-themes/galaxy/cmd/sc_styleupdatebyexample.png |binary
icon-themes/galaxy/links.txt | 2
sc/inc/global.hxx | 6
sc/source/filter/oox/formulabase.cxx | 2
sc/source/ui/view/tabvwsh3.cxx | 134 ++++++----
svl/source/numbers/zforscan.cxx | 23 +
uui/source/iahndl-authentication.cxx | 26 -
vcl/source/window/menufloatingwindow.cxx | 13
writerfilter/qa/cppunittests/rtftok/data/fail/destinationtest-1.rtf |binary
writerfilter/qa/cppunittests/rtftok/data/fail/destinationtest-2.rtf |binary
writerfilter/qa/cppunittests/rtftok/data/fail/nopropertyset-1.rtf |binary
writerfilter/qa/cppunittests/rtftok/data/fail/topcontext-1.rtf |binary
writerfilter/qa/cppunittests/rtftok/data/pass/tablemanager-2.rtf |binary
writerfilter/qa/cppunittests/rtftok/data/pass/tablemanager-3.rtf |binary
writerfilter/qa/cppunittests/rtftok/data/pass/tablemanager-4.rtf |binary
writerfilter/source/dmapper/DomainMapper.cxx | 16 -
writerfilter/source/dmapper/DomainMapper_Impl.cxx | 11
writerfilter/source/rtftok/rtfdocumentimpl.cxx | 51 +--
writerfilter/source/rtftok/rtfdocumentimpl.hxx | 6
54 files changed, 191 insertions(+), 133 deletions(-)
New commits:
commit 24f1246e9bb4a73f888cf0b6028768be360d9c27
Author: Caolán McNamara <caolanm at redhat.com>
Date: Fri Jul 29 08:48:22 2016 +0100
fftester: null DestinationText
(cherry picked from commit 0dd22165346f4296718656d17ae98ebbfe563719)
Reviewed-on: https://gerrit.libreoffice.org/27670
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>
(cherry picked from commit 51ea0875a7d3c6cd794cdec885b610efe635544c)
Change-Id: Icdd71733c4e9f4b36e6e957e4dea772087890faa
diff --git a/writerfilter/qa/cppunittests/rtftok/data/fail/destinationtest-1.rtf b/writerfilter/qa/cppunittests/rtftok/data/fail/destinationtest-1.rtf
new file mode 100644
index 0000000..63465b0
Binary files /dev/null and b/writerfilter/qa/cppunittests/rtftok/data/fail/destinationtest-1.rtf differ
diff --git a/writerfilter/qa/cppunittests/rtftok/data/fail/destinationtest-2.rtf b/writerfilter/qa/cppunittests/rtftok/data/fail/destinationtest-2.rtf
new file mode 100644
index 0000000..f0152b0
Binary files /dev/null and b/writerfilter/qa/cppunittests/rtftok/data/fail/destinationtest-2.rtf differ
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
index 2576ab7..9a37740 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -191,26 +191,27 @@ static util::DateTime lcl_getDateTime(RTFParserState& aState)
aState.nDay, aState.nMonth, aState.nYear, false);
}
-static void lcl_DestinationToMath(OUStringBuffer& rDestinationText, oox::formulaimport::XmlStreamBuilder& rMathBuffer, bool& rMathNor)
+static void lcl_DestinationToMath(OUStringBuffer* pDestinationText, oox::formulaimport::XmlStreamBuilder& rMathBuffer, bool& rMathNor)
{
- OUString aStr = rDestinationText.makeStringAndClear();
- if (!aStr.isEmpty())
- {
- rMathBuffer.appendOpeningTag(M_TOKEN(r));
- if (rMathNor)
- {
- rMathBuffer.appendOpeningTag(M_TOKEN(rPr));
- // Same as M_TOKEN(lit)
- rMathBuffer.appendOpeningTag(M_TOKEN(nor));
- rMathBuffer.appendClosingTag(M_TOKEN(nor));
- rMathBuffer.appendClosingTag(M_TOKEN(rPr));
- rMathNor = false;
- }
- rMathBuffer.appendOpeningTag(M_TOKEN(t));
- rMathBuffer.appendCharacters(aStr);
- rMathBuffer.appendClosingTag(M_TOKEN(t));
- rMathBuffer.appendClosingTag(M_TOKEN(r));
- }
+ if (!pDestinationText)
+ return;
+ OUString aStr = pDestinationText->makeStringAndClear();
+ if (aStr.isEmpty())
+ return;
+ rMathBuffer.appendOpeningTag(M_TOKEN(r));
+ if (rMathNor)
+ {
+ rMathBuffer.appendOpeningTag(M_TOKEN(rPr));
+ // Same as M_TOKEN(lit)
+ rMathBuffer.appendOpeningTag(M_TOKEN(nor));
+ rMathBuffer.appendClosingTag(M_TOKEN(nor));
+ rMathBuffer.appendClosingTag(M_TOKEN(rPr));
+ rMathNor = false;
+ }
+ rMathBuffer.appendOpeningTag(M_TOKEN(t));
+ rMathBuffer.appendCharacters(aStr);
+ rMathBuffer.appendClosingTag(M_TOKEN(t));
+ rMathBuffer.appendClosingTag(M_TOKEN(r));
}
RTFDocumentImpl::RTFDocumentImpl(uno::Reference<uno::XComponentContext> const& xContext,
@@ -1216,7 +1217,7 @@ void RTFDocumentImpl::text(OUString& rString)
rString = rString.copy(0, rString.getLength() - 1);
bEnd = true;
}
- m_aStates.top().pDestinationText->append(rString);
+ m_aStates.top().appendDestinationText(rString);
if (bEnd)
{
// always clear, necessary in case of group-less fonttable
@@ -1322,7 +1323,7 @@ void RTFDocumentImpl::text(OUString& rString)
case Destination::TOCENTRY:
case Destination::PROPNAME:
case Destination::STATICVAL:
- m_aStates.top().pDestinationText->append(rString);
+ m_aStates.top().appendDestinationText(rString);
break;
default:
bRet = false;
@@ -1351,7 +1352,7 @@ void RTFDocumentImpl::text(OUString& rString)
// Don't return earlier, a bookmark start has to be in a paragraph group.
if (m_aStates.top().eDestination == Destination::BOOKMARKSTART)
{
- m_aStates.top().pDestinationText->append(rString);
+ m_aStates.top().appendDestinationText(rString);
return;
}
@@ -5162,7 +5163,7 @@ RTFError RTFDocumentImpl::pushState()
m_aStates.top().eRunType = RTFParserState::LOCH;
if (m_aStates.top().eDestination == Destination::MR)
- lcl_DestinationToMath(*m_aStates.top().pDestinationText, m_aMathBuffer, m_bMathNor);
+ lcl_DestinationToMath(m_aStates.top().pDestinationText, m_aMathBuffer, m_bMathNor);
m_aStates.push(m_aStates.top());
}
m_aStates.top().aDestinationText.setLength(0); // was copied: always reset!
@@ -5857,7 +5858,7 @@ RTFError RTFDocumentImpl::popState()
}
break;
case Destination::MR:
- lcl_DestinationToMath(*m_aStates.top().pDestinationText, m_aMathBuffer, m_bMathNor);
+ lcl_DestinationToMath(m_aStates.top().pDestinationText, m_aMathBuffer, m_bMathNor);
break;
case Destination::MF:
m_aMathBuffer.appendClosingTag(M_TOKEN(f));
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.hxx b/writerfilter/source/rtftok/rtfdocumentimpl.hxx
index 393074a..78851d1 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.hxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.hxx
@@ -283,6 +283,12 @@ public:
/// point to the buffer of the current destination
OUStringBuffer* pDestinationText;
+ void appendDestinationText(const OUString &rString)
+ {
+ if (pDestinationText)
+ pDestinationText->append(rString);
+ }
+
/// Index of the current style.
int nCurrentStyleIndex;
/// Index of the current character style.
commit 448636b0c493ce8732d4d7e39dcce7337d342e28
Author: Caolán McNamara <caolanm at redhat.com>
Date: Tue Aug 2 13:08:39 2016 +0100
Related: tdf#92516 make menu accelerators always work even if...
keyboard not used yet.
The gtk2/3 menus appear to work this way. (And when not in gtk2/3
it shouldn't disable the accelerators for other platforms anyway)
(cherry picked from commit f6d0d92a5e249413df99a7f3677a28efe6d45426)
Change-Id: Ib7a99bd9039cd07120b3b77380f810b5b028fd57
Reviewed-on: https://gerrit.libreoffice.org/27795
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>
(cherry picked from commit 1288a0682ab4c960915722d2bb52a200e75580a3)
diff --git a/vcl/source/window/menufloatingwindow.cxx b/vcl/source/window/menufloatingwindow.cxx
index 1cb95ed..b6d6c96 100644
--- a/vcl/source/window/menufloatingwindow.cxx
+++ b/vcl/source/window/menufloatingwindow.cxx
@@ -1112,18 +1112,9 @@ void MenuFloatingWindow::KeyInput( const KeyEvent& rKEvent )
sal_Unicode nCharCode = rKEvent.GetCharCode();
sal_uInt16 nPos = 0;
sal_uInt16 nDuplicates = 0;
- MenuItemData* pData = (nCharCode && pMenu) ?
+ MenuItemData* pData = (nCharCode && pMenu && ImplGetSVData()->maNWFData.mbEnableAccel) ?
pMenu->GetItemList()->SearchItem(nCharCode, rKEvent.GetKeyCode(), nPos, nDuplicates, nHighlightedItem) : nullptr;
- bool bConsume = false;
- bool accel = ImplGetSVData()->maNWFData.mbEnableAccel;
- if (pData && accel)
- {
- Menu *men = pMenu;
- while (men && !men->IsMenuBar())
- men = men->pStartedFrom;
- bConsume = !men || (static_cast<MenuBarWindow*>(men->pWindow.get()))->GetMBWMenuKey();
- }
- if (bConsume)
+ if (pData)
{
if ( pData->pSubMenu || nDuplicates > 1 )
{
commit 28faecec78b58d3cb9c5efcd61308f79deaa576d
Author: Yousuf Philips <philipz85 at hotmail.com>
Date: Thu Aug 4 09:17:17 2016 +0400
Galaxy: Minor fixes to newly created icons
Change-Id: I8c3deef63cf48dc8d7334df5baa5e49fc49a9e6a
Reviewed-on: https://gerrit.libreoffice.org/27860
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Tomaž Vajngerl <quikee at gmail.com>
(cherry picked from commit 32b4c63a8915bfeda0c7912e2b61295aa4cfa4b0)
diff --git a/icon-themes/galaxy/cmd/lc_freezepanes.png b/icon-themes/galaxy/cmd/lc_freezepanes.png
index fdad6a9..d3aacc9 100644
Binary files a/icon-themes/galaxy/cmd/lc_freezepanes.png and b/icon-themes/galaxy/cmd/lc_freezepanes.png differ
diff --git a/icon-themes/galaxy/cmd/lc_resetattributes.png b/icon-themes/galaxy/cmd/lc_resetattributes.png
index e490692..073a7f6 100644
Binary files a/icon-themes/galaxy/cmd/lc_resetattributes.png and b/icon-themes/galaxy/cmd/lc_resetattributes.png differ
diff --git a/icon-themes/galaxy/cmd/sc_styleupdatebyexample.png b/icon-themes/galaxy/cmd/sc_styleupdatebyexample.png
index c06febf..4729f60 100644
Binary files a/icon-themes/galaxy/cmd/sc_styleupdatebyexample.png and b/icon-themes/galaxy/cmd/sc_styleupdatebyexample.png differ
commit da94732c88d6a9e550906f92d58859d09444cb96
Author: Yousuf Philips <philipz85 at hotmail.com>
Date: Sun Jul 31 09:31:05 2016 +0400
Galaxy: Replace tango icons with galaxy icons
Change-Id: I88c062299d4fbd757ee3b91ece1a75bec0fd3827
Reviewed-on: https://gerrit.libreoffice.org/27740
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Tomaž Vajngerl <quikee at gmail.com>
(cherry picked from commit 9001992ea312af4dcb3711d614a69d4d1df91784)
diff --git a/icon-themes/galaxy/cmd/lc_dataranges.png b/icon-themes/galaxy/cmd/lc_dataranges.png
new file mode 100644
index 0000000..946429d
Binary files /dev/null and b/icon-themes/galaxy/cmd/lc_dataranges.png differ
diff --git a/icon-themes/galaxy/cmd/lc_deletepage.png b/icon-themes/galaxy/cmd/lc_deletepage.png
index c13002e..717b854 100644
Binary files a/icon-themes/galaxy/cmd/lc_deletepage.png and b/icon-themes/galaxy/cmd/lc_deletepage.png differ
diff --git a/icon-themes/galaxy/cmd/lc_diagramarea.png b/icon-themes/galaxy/cmd/lc_diagramarea.png
new file mode 100644
index 0000000..df4a0e7
Binary files /dev/null and b/icon-themes/galaxy/cmd/lc_diagramarea.png differ
diff --git a/icon-themes/galaxy/cmd/lc_diagramaxisz.png b/icon-themes/galaxy/cmd/lc_diagramaxisz.png
new file mode 100644
index 0000000..6df327c
Binary files /dev/null and b/icon-themes/galaxy/cmd/lc_diagramaxisz.png differ
diff --git a/icon-themes/galaxy/cmd/lc_freezepanes.png b/icon-themes/galaxy/cmd/lc_freezepanes.png
index 6c21d0a..fdad6a9 100644
Binary files a/icon-themes/galaxy/cmd/lc_freezepanes.png and b/icon-themes/galaxy/cmd/lc_freezepanes.png differ
diff --git a/icon-themes/galaxy/cmd/lc_insertendnote.png b/icon-themes/galaxy/cmd/lc_insertendnote.png
index a971096..8c702fe 100644
Binary files a/icon-themes/galaxy/cmd/lc_insertendnote.png and b/icon-themes/galaxy/cmd/lc_insertendnote.png differ
diff --git a/icon-themes/galaxy/cmd/lc_insertmenutitles.png b/icon-themes/galaxy/cmd/lc_insertmenutitles.png
new file mode 100644
index 0000000..c8a2fe9
Binary files /dev/null and b/icon-themes/galaxy/cmd/lc_insertmenutitles.png differ
diff --git a/icon-themes/galaxy/cmd/lc_insertpagebreak.png b/icon-themes/galaxy/cmd/lc_insertpagebreak.png
index faca2ac..2bae45e 100644
Binary files a/icon-themes/galaxy/cmd/lc_insertpagebreak.png and b/icon-themes/galaxy/cmd/lc_insertpagebreak.png differ
diff --git a/icon-themes/galaxy/cmd/lc_legend.png b/icon-themes/galaxy/cmd/lc_legend.png
new file mode 100644
index 0000000..3f9af41
Binary files /dev/null and b/icon-themes/galaxy/cmd/lc_legend.png differ
diff --git a/icon-themes/galaxy/cmd/lc_presentationcurrentslide.png b/icon-themes/galaxy/cmd/lc_presentationcurrentslide.png
index 63e09b7..74bc512 100644
Binary files a/icon-themes/galaxy/cmd/lc_presentationcurrentslide.png and b/icon-themes/galaxy/cmd/lc_presentationcurrentslide.png differ
diff --git a/icon-themes/galaxy/cmd/lc_resetattributes.png b/icon-themes/galaxy/cmd/lc_resetattributes.png
index 13cf0ad..e490692 100644
Binary files a/icon-themes/galaxy/cmd/lc_resetattributes.png and b/icon-themes/galaxy/cmd/lc_resetattributes.png differ
diff --git a/icon-themes/galaxy/cmd/lc_slidemasterpage.png b/icon-themes/galaxy/cmd/lc_slidemasterpage.png
index c24e0a7..2b62823 100644
Binary files a/icon-themes/galaxy/cmd/lc_slidemasterpage.png and b/icon-themes/galaxy/cmd/lc_slidemasterpage.png differ
diff --git a/icon-themes/galaxy/cmd/lc_splitwindow.png b/icon-themes/galaxy/cmd/lc_splitwindow.png
index 6506c1e..e478637 100644
Binary files a/icon-themes/galaxy/cmd/lc_splitwindow.png and b/icon-themes/galaxy/cmd/lc_splitwindow.png differ
diff --git a/icon-themes/galaxy/cmd/lc_styleupdatebyexample.png b/icon-themes/galaxy/cmd/lc_styleupdatebyexample.png
new file mode 100644
index 0000000..7ad7989
Binary files /dev/null and b/icon-themes/galaxy/cmd/lc_styleupdatebyexample.png differ
diff --git a/icon-themes/galaxy/cmd/lc_togglesheetgrid.png b/icon-themes/galaxy/cmd/lc_togglesheetgrid.png
index b5362ff..417e247 100644
Binary files a/icon-themes/galaxy/cmd/lc_togglesheetgrid.png and b/icon-themes/galaxy/cmd/lc_togglesheetgrid.png differ
diff --git a/icon-themes/galaxy/links.txt b/icon-themes/galaxy/links.txt
index 5be4d13..ad85cfe 100644
--- a/icon-themes/galaxy/links.txt
+++ b/icon-themes/galaxy/links.txt
@@ -69,6 +69,8 @@ cmd/lc_formatselection.png sfx2/res/symphony/sidebar-property-large.png
cmd/sc_formatselection.png sfx2/res/symphony/sidebar-property-small.png
cmd/lc_view3d.png sfx2/res/symphony/sidebar-3d-large.png
cmd/sc_view3d.png sfx2/res/symphony/sidebar-3d-small.png
+cmd/lc_viewdatasourcebrowser.png cmd/lc_dataranges.png
+cmd/sc_viewdatasourcebrowser.png cmd/sc_dataranges.png
# menu bar entries
cmd/sc_sortdialog.png cmd/sc_sortup.png
commit 06acabcd20820183134528dced5efe37be682857
Author: Eike Rathke <erack at redhat.com>
Date: Fri Jul 15 13:43:09 2016 +0200
mapping ERROR.TYPE to ORG.OPENOFFICE.ERRORTYPE was always wrong
Change-Id: I02b941a1a884a984b39632cad36579130cd71d6c
(cherry picked from commit 3d70765218986abba8b6d7c8e3cadd83a62ee035)
Reviewed-on: https://gerrit.libreoffice.org/27853
Reviewed-by: Michael Stahl <mstahl at redhat.com>
Tested-by: Jenkins <ci at libreoffice.org>
(cherry picked from commit e1b88ef7dbbdf7e333630e9295bd317772907ad6)
diff --git a/sc/source/filter/oox/formulabase.cxx b/sc/source/filter/oox/formulabase.cxx
index b17a896..b2e9d63 100644
--- a/sc/source/filter/oox/formulabase.cxx
+++ b/sc/source/filter/oox/formulabase.cxx
@@ -487,7 +487,7 @@ static const FunctionData saFuncTableBiff4[] =
{ "RANK", "RANK", 216, 216, 2, 3, V, { VR, RO, VR }, 0 },
{ "DB", "DB", 247, 247, 4, 5, V, { VR }, 0 },
{ "FREQUENCY", "FREQUENCY", 252, 252, 2, 2, A, { RA }, 0 },
- { "ORG.OPENOFFICE.ERRORTYPE","ERROR.TYPE", 261, 261, 1, 1, V, { VR }, 0 },
+ { "ERROR.TYPE", "ERROR.TYPE", 261, 261, 1, 1, V, { VR }, 0 },
{ "AVEDEV", "AVEDEV", 269, 269, 1, MX, V, { RX }, 0 },
{ "BETADIST", "BETADIST", 270, 270, 3, 5, V, { VR }, 0 },
{ "GAMMALN", "GAMMALN", 271, 271, 1, 1, V, { VR }, 0 },
commit 47ef59ffa57ce18ef439f0b79a44e2a12a7f2209
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed Aug 3 16:14:03 2016 +0100
Resolves: tdf#97193 restore pre 5-1 values for INS_INSROWS and INS_INSCOLS
i.e. INS_INSCOLS_BEFORE and INS_INSROWS_BEFORE have the same
meaning as the old INS_INSROWS and INS_INSCOWS, so reorder the enum
so they are at the positions of their corresponding originals.
This makes macros recorded before 5-1 work like they did prior to 5-1-0.
This unfortunately will have the same effect to macros recorded during
the 5-1 period that the original change did.
regression since...
commit f97beeef352fdd9fd4f157a7a4c4f6af8341cbe6
Date: Wed May 20 16:54:27 2015 +0200
Calc: Insert row/col before/after [1/2]
This part renames all INSROW / INSCOL to
INSROWS_BEFORE / INSCOLS_BEFORE which is
the current (default) behaviour.
Change-Id: Ide90b8cfebe4af1a3718d93c34657663c20ccc62
(cherry picked from commit 7ec4a495291c7427bba5256bf2c54f1da999ea52)
Reviewed-on: https://gerrit.libreoffice.org/27835
Reviewed-by: jan iversen <jani at documentfoundation.org>
Tested-by: jan iversen <jani at documentfoundation.org>
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Eike Rathke <erack at redhat.com>
(cherry picked from commit 715664eb09c460e7f00fe4d114b65bb34bb051a3)
diff --git a/sc/inc/global.hxx b/sc/inc/global.hxx
index 9c37703..b236dd7 100644
--- a/sc/inc/global.hxx
+++ b/sc/inc/global.hxx
@@ -271,10 +271,10 @@ enum InsCellCmd
INS_CELLSDOWN,
INS_CELLSRIGHT,
INS_INSROWS_BEFORE,
- INS_INSROWS_AFTER,
INS_INSCOLS_BEFORE,
- INS_INSCOLS_AFTER,
- INS_NONE
+ INS_NONE,
+ INS_INSROWS_AFTER,
+ INS_INSCOLS_AFTER
};
enum UpdateRefMode
commit 039c12b1aac8bad8a2578dd889c5ec44aac19e5c
Author: Caolán McNamara <caolanm at redhat.com>
Date: Tue Aug 2 16:05:53 2016 +0100
fftester: guard against no drawing object property set
(cherry picked from commit db686815b41c52598f0952613ff8c6be34b2f0e0)
Change-Id: I51736459f9f098d9d793bff3b9a1a403962e099d
Reviewed-on: https://gerrit.libreoffice.org/27801
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>
(cherry picked from commit f9b830d7cd47c61cff3162fd396d81f29d205ce9)
diff --git a/writerfilter/qa/cppunittests/rtftok/data/fail/nopropertyset-1.rtf b/writerfilter/qa/cppunittests/rtftok/data/fail/nopropertyset-1.rtf
new file mode 100644
index 0000000..59c3630
Binary files /dev/null and b/writerfilter/qa/cppunittests/rtftok/data/fail/nopropertyset-1.rtf differ
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
index 9a15afc..2576ab7 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -4803,7 +4803,7 @@ RTFError RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
{
rDrawingObject.aPolyLinePoints.back().Y = convertTwipToMm100(nParam);
rDrawingObject.nPolyLineCount--;
- if (rDrawingObject.nPolyLineCount == 0)
+ if (rDrawingObject.nPolyLineCount == 0 && rDrawingObject.xPropertySet.is())
{
uno::Sequence< uno::Sequence<awt::Point> >aPointSequenceSequence =
{
commit f9f9cb968200c01903f077c043c9e199971f1919
Author: Caolán McNamara <caolanm at redhat.com>
Date: Sun Jul 31 19:58:18 2016 +0100
fftester: another table manager stack checks
and a m_xTextFactory check too
Change-Id: I9352410c42048b4dd7d6dbc3514351ab8f16790b
(cherry picked from commit 8a6b2fb5b94de43316ab3ea95ff07cf5f46b6134)
Reviewed-on: https://gerrit.libreoffice.org/27760
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>
(cherry picked from commit fbed48db0b09cfed8070d7644b0922c79d3d7512)
diff --git a/writerfilter/qa/cppunittests/rtftok/data/pass/tablemanager-4.rtf b/writerfilter/qa/cppunittests/rtftok/data/pass/tablemanager-4.rtf
new file mode 100644
index 0000000..28093f2
Binary files /dev/null and b/writerfilter/qa/cppunittests/rtftok/data/pass/tablemanager-4.rtf differ
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
index 7567d07..5afc5d7 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
@@ -1035,7 +1035,7 @@ void DomainMapper_Impl::finishParagraph( PropertyMapPtr pPropertyMap )
TagLogger::getInstance().attribute("isTextAppend", sal_uInt32(xTextAppend.is()));
#endif
- if (xTextAppend.is() && pParaContext != nullptr && !getTableManager().isIgnore())
+ if (xTextAppend.is() && pParaContext && hasTableManager() && !getTableManager().isIgnore())
{
try
{
@@ -4202,7 +4202,7 @@ void DomainMapper_Impl::CloseFieldCommand()
*/
OUString aCode( pContext->GetCommand().trim() );
// Don't waste resources on wrapping shapes inside a fieldmark.
- if (aCode != "SHAPE")
+ if (aCode != "SHAPE" && m_xTextFactory.is())
{
xFieldInterface = m_xTextFactory->createInstance("com.sun.star.text.Fieldmark");
const uno::Reference<text::XTextContent> xTextContent(xFieldInterface, uno::UNO_QUERY_THROW);
commit 21992c256231ae21a5aea6da3b34b98bf2c0ab62
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed Aug 3 09:35:50 2016 +0100
Resolves: tdf#100123 prefer notation priority in detecting range/address
i.e. try and parse whether something is a range or an address in order of
document address convention, Calc A1, Excel A1 and Excel R1C1, rather than
check if something is a range in any of those conventions before checking if it
might be an address in any of those conventions.
Reviewed-on: https://gerrit.libreoffice.org/27821
Reviewed-by: Eike Rathke <erack at redhat.com>
Tested-by: Eike Rathke <erack at redhat.com>
Backported.
Conflicts:
sc/source/ui/view/tabvwsh3.cxx
Change-Id: Ibb744c3eda78a80f33bdbfa5f5ddf0aa5b6361af
Reviewed-on: https://gerrit.libreoffice.org/27825
Reviewed-by: Eike Rathke <erack at redhat.com>
Tested-by: Eike Rathke <erack at redhat.com>
Tested-by: Jenkins <ci at libreoffice.org>
(cherry picked from commit 00992771455dae0eb83b8c705ae648ad3683f0ef)
diff --git a/sc/source/ui/view/tabvwsh3.cxx b/sc/source/ui/view/tabvwsh3.cxx
index 4fd9a5c..4771771 100644
--- a/sc/source/ui/view/tabvwsh3.cxx
+++ b/sc/source/ui/view/tabvwsh3.cxx
@@ -69,48 +69,95 @@
#include <memory>
-static sal_uInt16 lcl_ParseRange(ScRange& rScRange, const OUString& aAddress, ScDocument* pDoc, sal_uInt16 /* nSlot */)
+namespace
{
- // start with the address convention set in the document
- formula::FormulaGrammar::AddressConvention eConv = pDoc->GetAddressConvention();
- sal_uInt16 nResult = rScRange.Parse(aAddress, pDoc, eConv);
- if ( (nResult & SCA_VALID) )
- return nResult;
-
- // try the default Calc (A1) address convention
- nResult = rScRange.Parse(aAddress, pDoc);
- if ( (nResult & SCA_VALID) )
- return nResult;
-
- // try the Excel A1 address convention
- nResult = rScRange.Parse(aAddress, pDoc, formula::FormulaGrammar::CONV_XL_A1);
- if ( (nResult & SCA_VALID) )
- return nResult;
-
- // try Excel R1C1 address convention
- return rScRange.Parse(aAddress, pDoc, formula::FormulaGrammar::CONV_XL_R1C1);
-}
+ enum class DetectFlags
+ {
+ NONE,
+ RANGE,
+ ADDRESS
+ };
-static sal_uInt16 lcl_ParseAddress(ScAddress& rScAddress, const OUString& aAddress, ScDocument* pDoc, sal_uInt16 /* nSlot */)
-{
- // start with the address convention set in the document
- formula::FormulaGrammar::AddressConvention eConv = pDoc->GetAddressConvention();
- sal_uInt16 nResult = rScAddress.Parse(aAddress, pDoc, eConv);
- if ( (nResult & SCA_VALID) )
- return nResult;
-
- // try the default Calc (A1) address convention
- nResult = rScAddress.Parse(aAddress, pDoc);
- if ( (nResult & SCA_VALID) )
- return nResult;
-
- // try the Excel A1 address convention
- nResult = rScAddress.Parse(aAddress, pDoc, formula::FormulaGrammar::CONV_XL_A1);
- if ( (nResult & SCA_VALID) )
- return nResult;
-
- // try Excel R1C1 address convention
- return rScAddress.Parse(aAddress, pDoc, formula::FormulaGrammar::CONV_XL_R1C1);
+ struct ScRefFlagsAndType
+ {
+ sal_uInt16 nResult;
+ DetectFlags eDetected;
+ };
+
+ ScRefFlagsAndType lcl_ParseRangeOrAddress(ScRange& rScRange, ScAddress& rScAddress,
+ const OUString& aAddress, ScDocument* pDoc)
+ {
+ ScRefFlagsAndType aRet;
+
+ formula::FormulaGrammar::AddressConvention eConv;
+
+ // start with the address convention set in the document
+ eConv = pDoc->GetAddressConvention();
+ aRet.nResult = rScRange.Parse(aAddress, pDoc, eConv);
+ if (aRet.nResult & SCA_VALID)
+ {
+ aRet.eDetected = DetectFlags::RANGE;
+ return aRet;
+ }
+
+ aRet.nResult = rScAddress.Parse(aAddress, pDoc, eConv);
+ if (aRet.nResult & SCA_VALID)
+ {
+ aRet.eDetected = DetectFlags::ADDRESS;
+ return aRet;
+ }
+
+ // try the default Calc (A1) address convention
+ aRet.nResult = rScRange.Parse(aAddress, pDoc);
+ if (aRet.nResult & SCA_VALID)
+ {
+ aRet.eDetected = DetectFlags::RANGE;
+ return aRet;
+ }
+
+ aRet.nResult = rScAddress.Parse(aAddress, pDoc);
+ if (aRet.nResult & SCA_VALID)
+ {
+ aRet.eDetected = DetectFlags::ADDRESS;
+ return aRet;
+ }
+
+ // try the Excel A1 address convention
+ aRet.nResult = rScRange.Parse(aAddress, pDoc, formula::FormulaGrammar::CONV_XL_A1);
+ if (aRet.nResult & SCA_VALID)
+ {
+ aRet.eDetected = DetectFlags::RANGE;
+ return aRet;
+ }
+
+ // try the Excel A1 address convention
+ aRet.nResult = rScAddress.Parse(aAddress, pDoc, formula::FormulaGrammar::CONV_XL_A1);
+ if (aRet.nResult & SCA_VALID)
+ {
+ aRet.eDetected = DetectFlags::ADDRESS;
+ return aRet;
+ }
+
+ // try Excel R1C1 address convention
+ aRet.nResult = rScRange.Parse(aAddress, pDoc, formula::FormulaGrammar::CONV_XL_R1C1);
+ if (aRet.nResult & SCA_VALID)
+ {
+ aRet.eDetected = DetectFlags::RANGE;
+ return aRet;
+ }
+
+ aRet.nResult = rScAddress.Parse(aAddress, pDoc, formula::FormulaGrammar::CONV_XL_R1C1);
+ if (aRet.nResult & SCA_VALID)
+ {
+ aRet.eDetected = DetectFlags::ADDRESS;
+ return aRet;
+ }
+
+ aRet.nResult = 0;
+ aRet.eDetected = DetectFlags::NONE;
+
+ return aRet;
+ }
}
void ScTabViewShell::Execute( SfxRequest& rReq )
@@ -278,12 +325,13 @@ void ScTabViewShell::Execute( SfxRequest& rReq )
ScMarkData& rMark = rViewData.GetMarkData();
ScRange aScRange;
ScAddress aScAddress;
- sal_uInt16 nResult = lcl_ParseRange(aScRange, aAddress, pDoc, nSlot);
+ ScRefFlagsAndType aResult = lcl_ParseRangeOrAddress(aScRange, aScAddress, aAddress, pDoc);
+ sal_uInt16 nResult = aResult.nResult;
SCTAB nTab = rViewData.GetTabNo();
bool bMark = true;
// Is this a range ?
- if( nResult & SCA_VALID )
+ if (aResult.eDetected == DetectFlags::RANGE)
{
if ( nResult & SCA_TAB_3D )
{
@@ -297,7 +345,7 @@ void ScTabViewShell::Execute( SfxRequest& rReq )
}
}
// Is this a cell ?
- else if ( (nResult = lcl_ParseAddress(aScAddress, aAddress, pDoc, nSlot)) & SCA_VALID )
+ else if (aResult.eDetected == DetectFlags::ADDRESS)
{
if ( nResult & SCA_TAB_3D )
{
commit 8bda3105182efabdfbdc01e64f72338962818fe1
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date: Tue Jul 12 15:23:31 2016 +0200
avoid name clash for CDataFormatTranslator in ftransl, tdf#100872
E.g.
http://crashreport.libreoffice.org/stats/signature/com::sun::star::datatransfer::DataFormatTranslator::create%28com::sun::star::uno::Reference%3Ccom::sun::star::uno::XComponentContext%3E%20const%20&%29
Reviewed-on: https://gerrit.libreoffice.org/27157
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>
(cherry picked from commit 37204431c68a4725b4539fa35e9fcea4fe94c166)
Conflicts:
dtrans/source/win32/ftransl/ftransl.hxx
Change-Id: I55d7fc9a83526de0cc5f838f0ee2c7e4649dbe6b
Reviewed-on: https://gerrit.libreoffice.org/27180
Reviewed-by: Michael Stahl <mstahl at redhat.com>
Tested-by: Jenkins <ci at libreoffice.org>
(cherry picked from commit e3ba28a55334c1eaa32714db7caad538486078fe)
diff --git a/dtrans/source/win32/ftransl/ftransl.cxx b/dtrans/source/win32/ftransl/ftransl.cxx
index 968c2f6..4660ccf 100644
--- a/dtrans/source/win32/ftransl/ftransl.cxx
+++ b/dtrans/source/win32/ftransl/ftransl.cxx
@@ -94,13 +94,13 @@ FormatEntry::FormatEntry(
// ctor
-CDataFormatTranslator::CDataFormatTranslator( const Reference< XComponentContext >& rxContext ) :
+CDataFormatTranslatorUNO::CDataFormatTranslatorUNO( const Reference< XComponentContext >& rxContext ) :
m_xContext( rxContext )
{
initTranslationTable( );
}
-Any SAL_CALL CDataFormatTranslator::getSystemDataTypeFromDataFlavor( const DataFlavor& aDataFlavor )
+Any SAL_CALL CDataFormatTranslatorUNO::getSystemDataTypeFromDataFlavor( const DataFlavor& aDataFlavor )
throw( RuntimeException )
{
Any aAny;
@@ -155,7 +155,7 @@ Any SAL_CALL CDataFormatTranslator::getSystemDataTypeFromDataFlavor( const DataF
return aAny;
}
-DataFlavor SAL_CALL CDataFormatTranslator::getDataFlavorFromSystemDataType( const Any& aSysDataType )
+DataFlavor SAL_CALL CDataFormatTranslatorUNO::getDataFlavorFromSystemDataType( const Any& aSysDataType )
throw( RuntimeException )
{
OSL_PRECOND( aSysDataType.hasValue( ), "Empty system data type delivered" );
@@ -184,14 +184,14 @@ DataFlavor SAL_CALL CDataFormatTranslator::getDataFlavorFromSystemDataType( cons
// XServiceInfo
-OUString SAL_CALL CDataFormatTranslator::getImplementationName( )
+OUString SAL_CALL CDataFormatTranslatorUNO::getImplementationName( )
throw( RuntimeException )
{
return OUString( IMPL_NAME );
}
// XServiceInfo
-sal_Bool SAL_CALL CDataFormatTranslator::supportsService( const OUString& ServiceName )
+sal_Bool SAL_CALL CDataFormatTranslatorUNO::supportsService( const OUString& ServiceName )
throw( RuntimeException )
{
return cppu::supportsService(this, ServiceName);
@@ -199,7 +199,7 @@ sal_Bool SAL_CALL CDataFormatTranslator::supportsService( const OUString& Servic
// XServiceInfo
-Sequence< OUString > SAL_CALL CDataFormatTranslator::getSupportedServiceNames( )
+Sequence< OUString > SAL_CALL CDataFormatTranslatorUNO::getSupportedServiceNames( )
throw( RuntimeException )
{
return DataFormatTranslator_getSupportedServiceNames( );
@@ -212,7 +212,7 @@ Sequence< OUString > SAL_CALL CDataFormatTranslator::getSupportedServiceNames( )
// format number we can stop if we find the first
// CF_INVALID
-void SAL_CALL CDataFormatTranslator::initTranslationTable()
+void SAL_CALL CDataFormatTranslatorUNO::initTranslationTable()
{
//SotClipboardFormatId::DIF
m_TranslTable.push_back(FormatEntry("application/x-openoffice-dif;windows_formatname=\"DIF\"", "DIF", "DIF", CF_DIF, CPPUTYPE_DEFAULT));
@@ -465,7 +465,7 @@ void SAL_CALL CDataFormatTranslator::initTranslationTable()
m_TranslTable.push_back(FormatEntry("application/x-openoffice-dummy4;windows_formatname=\"SO_DUMMYFORMAT_4\"", "SO_DUMMYFORMAT_4", NULL, CF_INVALID, CPPUTYPE_DEFAULT));
}
-void SAL_CALL CDataFormatTranslator::findDataFlavorForStandardFormatId( sal_Int32 aStandardFormatId, DataFlavor& aDataFlavor ) const
+void SAL_CALL CDataFormatTranslatorUNO::findDataFlavorForStandardFormatId( sal_Int32 aStandardFormatId, DataFlavor& aDataFlavor ) const
{
/*
we break the for loop if we find the first CF_INVALID
@@ -487,7 +487,7 @@ void SAL_CALL CDataFormatTranslator::findDataFlavorForStandardFormatId( sal_Int3
}
}
-void SAL_CALL CDataFormatTranslator::findDataFlavorForNativeFormatName( const OUString& aNativeFormatName, DataFlavor& aDataFlavor ) const
+void SAL_CALL CDataFormatTranslatorUNO::findDataFlavorForNativeFormatName( const OUString& aNativeFormatName, DataFlavor& aDataFlavor ) const
{
vector< FormatEntry >::const_iterator citer_end = m_TranslTable.end( );
for ( vector< FormatEntry >::const_iterator citer = m_TranslTable.begin( );
@@ -502,7 +502,7 @@ void SAL_CALL CDataFormatTranslator::findDataFlavorForNativeFormatName( const OU
}
}
-void SAL_CALL CDataFormatTranslator::findStandardFormatIdForCharset( const OUString& aCharset, Any& aAny ) const
+void SAL_CALL CDataFormatTranslatorUNO::findStandardFormatIdForCharset( const OUString& aCharset, Any& aAny ) const
{
if ( aCharset.equalsIgnoreAsciiCase( "utf-16" ) )
aAny <<= static_cast< sal_Int32 >( CF_UNICODETEXT );
@@ -514,7 +514,7 @@ void SAL_CALL CDataFormatTranslator::findStandardFormatIdForCharset( const OUStr
}
}
-void SAL_CALL CDataFormatTranslator::setStandardFormatIdForNativeFormatName( const OUString& aNativeFormatName, Any& aAny ) const
+void SAL_CALL CDataFormatTranslatorUNO::setStandardFormatIdForNativeFormatName( const OUString& aNativeFormatName, Any& aAny ) const
{
vector< FormatEntry >::const_iterator citer_end = m_TranslTable.end( );
for ( vector< FormatEntry >::const_iterator citer = m_TranslTable.begin( ); citer != citer_end; ++citer )
@@ -528,7 +528,7 @@ void SAL_CALL CDataFormatTranslator::setStandardFormatIdForNativeFormatName( con
}
}
-void SAL_CALL CDataFormatTranslator::findStdFormatIdOrNativeFormatNameForFullMediaType(
+void SAL_CALL CDataFormatTranslatorUNO::findStdFormatIdOrNativeFormatNameForFullMediaType(
const Reference< XMimeContentTypeFactory >& aRefXMimeFactory,
const OUString& aFullMediaType,
Any& aAny ) const
@@ -554,12 +554,12 @@ void SAL_CALL CDataFormatTranslator::findStdFormatIdOrNativeFormatNameForFullMed
}
}
-inline sal_Bool CDataFormatTranslator::isTextPlainMediaType( const OUString& fullMediaType ) const
+inline sal_Bool CDataFormatTranslatorUNO::isTextPlainMediaType( const OUString& fullMediaType ) const
{
return fullMediaType.equalsIgnoreAsciiCase("text/plain");
}
-DataFlavor SAL_CALL CDataFormatTranslator::mkDataFlv(const OUString& cnttype, const OUString& hpname, Type dtype)
+DataFlavor SAL_CALL CDataFormatTranslatorUNO::mkDataFlv(const OUString& cnttype, const OUString& hpname, Type dtype)
{
DataFlavor dflv;
dflv.MimeType = cnttype;
diff --git a/dtrans/source/win32/ftransl/ftransl.hxx b/dtrans/source/win32/ftransl/ftransl.hxx
index 07e202c..1acb863 100644
--- a/dtrans/source/win32/ftransl/ftransl.hxx
+++ b/dtrans/source/win32/ftransl/ftransl.hxx
@@ -58,13 +58,13 @@ struct FormatEntry
// CDataFormatTranslator
-class CDataFormatTranslator : public
+class CDataFormatTranslatorUNO : public
cppu::WeakImplHelper< css::datatransfer::XDataFormatTranslator,
css::lang::XServiceInfo >
{
public:
- CDataFormatTranslator( const css::uno::Reference< css::uno::XComponentContext >& rxContext );
+ CDataFormatTranslatorUNO( const css::uno::Reference< css::uno::XComponentContext >& rxContext );
// XDataFormatTranslator
diff --git a/dtrans/source/win32/ftransl/ftranslentry.cxx b/dtrans/source/win32/ftransl/ftranslentry.cxx
index a81b2d0..5174d2c 100644
--- a/dtrans/source/win32/ftransl/ftranslentry.cxx
+++ b/dtrans/source/win32/ftransl/ftranslentry.cxx
@@ -52,7 +52,7 @@ namespace
Reference< XInterface > SAL_CALL createInstance( const Reference< XMultiServiceFactory >& rServiceManager )
{
- return Reference< XInterface >( static_cast< XDataFormatTranslator* >( new CDataFormatTranslator( comphelper::getComponentContext(rServiceManager) ) ) );
+ return Reference< XInterface >( static_cast< XDataFormatTranslator* >( new CDataFormatTranslatorUNO( comphelper::getComponentContext(rServiceManager) ) ) );
}
}
commit e878028d7d92b2c975e8f3afe55c28f05953b787
Author: Laurent Balland-Poirier <laurent.balland-poirier at laposte.net>
Date: Wed Jul 27 09:02:46 2016 +0200
tdf#101147 Improve (again) minute/month detection
For format like HH:MM:SS MM/DD
second MM is detected as minute: see tdf#95339
New rules:
- first M following each H is minute
- first M following first S is minute
Detection Month/minute now fully compatible with Excel even with unwanted detection:
SS:MM:HH DD/MM/YY
second MM is minute even if user would expect month
Reviewed-on: https://gerrit.libreoffice.org/27560
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Eike Rathke <erack at redhat.com>
Tested-by: Eike Rathke <erack at redhat.com>
(cherry picked from commit aa6bca0dfa0a58aae91eb5fa3564add642cd4238)
Conflicts:
svl/qa/unit/svl.cxx
svl/source/numbers/zforscan.cxx
Change-Id: Ia789fbc2dbd6d2dcbe9b9c34d3f288674966dd10
Reviewed-on: https://gerrit.libreoffice.org/27771
Reviewed-by: Eike Rathke <erack at redhat.com>
Tested-by: Eike Rathke <erack at redhat.com>
Tested-by: Jenkins <ci at libreoffice.org>
(cherry picked from commit 24a0aa8d9c28624b4e0961726922e054554af705)
diff --git a/svl/source/numbers/zforscan.cxx b/svl/source/numbers/zforscan.cxx
index da780cb..5fcddb0 100644
--- a/svl/source/numbers/zforscan.cxx
+++ b/svl/source/numbers/zforscan.cxx
@@ -1121,6 +1121,8 @@ sal_Int32 ImpSvNumberformatScan::ScanType()
short eNewType;
bool bMatchBracket = false;
bool bHaveGeneral = false; // if General/Standard encountered
+ bool bIsTimeDetected =false; // hour or second found in format
+ bool bHaveMinute = false;
SkipStrings(i, nPos);
while (i < nAnzStrings)
@@ -1129,43 +1131,48 @@ sal_Int32 ImpSvNumberformatScan::ScanType()
{ // keyword
sal_uInt16 nIndexPre;
sal_uInt16 nIndexNex;
- sal_Unicode cChar;
switch (nTypeArray[i])
{
case NF_KEY_E: // E
eNewType = css::util::NumberFormat::SCIENTIFIC;
break;
- case NF_KEY_AMPM: // AM,A,PM,P
- case NF_KEY_AP:
case NF_KEY_H: // H
case NF_KEY_HH: // HH
+ bIsTimeDetected = true;
+ // fallthru
case NF_KEY_S: // S
case NF_KEY_SS: // SS
+ if ( !bHaveMinute )
+ bIsTimeDetected = true;
+ // fallthru
+ case NF_KEY_AMPM: // AM,A,PM,P
+ case NF_KEY_AP:
eNewType = css::util::NumberFormat::TIME;
break;
case NF_KEY_M: // M
case NF_KEY_MM: // MM
/* Minute or month.
Minute if one of:
- * preceded by time keyword H or S (ignoring separators)
+ * preceded by time keyword H (ignoring separators)
* followed by time keyword S (ignoring separators)
+ * H or S was detected
* preceded by '[' amount bracket
Else month.
*/
nIndexPre = PreviousKeyword(i);
nIndexNex = NextKeyword(i);
- cChar = PreviousChar(i);
if (nIndexPre == NF_KEY_H || // H
nIndexPre == NF_KEY_HH || // HH
- nIndexPre == NF_KEY_S || // S before M tdf#95339
- nIndexPre == NF_KEY_SS || // SS
nIndexNex == NF_KEY_S || // S
nIndexNex == NF_KEY_SS || // SS
- cChar == '[' ) // [M
+ bIsTimeDetected || // tdf#101147
+ PreviousChar(i) == '[' ) // [M
{
eNewType = css::util::NumberFormat::TIME;
nTypeArray[i] -= 2; // 6 -> 4, 7 -> 5
+ bIsTimeDetected = false; // next M should be month
+ bHaveMinute = true;
}
else
{
commit 3a4fe10a8613d9374887fd88ac37ccd4f14a83d1
Author: Yousuf Philips <philipz85 at hotmail.com>
Date: Fri Feb 19 05:40:51 2016 +0400
Galaxy: Add icons for track changes, bookmark, and browser preview
Change-Id: I11143967720c9cfa310c6a32f679894d15b94204
Reviewed-on: https://gerrit.libreoffice.org/22495
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Yousuf Philips <philipz85 at hotmail.com>
(cherry picked from commit 5101743e62980a1f6e1212116d20bbfaf9e86149)
Reviewed-on: https://gerrit.libreoffice.org/27739
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
(cherry picked from commit 9539d47be7c04234856880f7550cb8eada25358b)
diff --git a/icon-themes/galaxy/cmd/lc_accepttrackedchange.png b/icon-themes/galaxy/cmd/lc_accepttrackedchange.png
index d57502f..8dfd998 100644
Binary files a/icon-themes/galaxy/cmd/lc_accepttrackedchange.png and b/icon-themes/galaxy/cmd/lc_accepttrackedchange.png differ
diff --git a/icon-themes/galaxy/cmd/lc_accepttrackedchanges.png b/icon-themes/galaxy/cmd/lc_accepttrackedchanges.png
index 7b7b173..71c1301 100644
Binary files a/icon-themes/galaxy/cmd/lc_accepttrackedchanges.png and b/icon-themes/galaxy/cmd/lc_accepttrackedchanges.png differ
diff --git a/icon-themes/galaxy/cmd/lc_commentchangetracking.png b/icon-themes/galaxy/cmd/lc_commentchangetracking.png
index 8769eed..f846996 100644
Binary files a/icon-themes/galaxy/cmd/lc_commentchangetracking.png and b/icon-themes/galaxy/cmd/lc_commentchangetracking.png differ
diff --git a/icon-themes/galaxy/cmd/lc_comparedocuments.png b/icon-themes/galaxy/cmd/lc_comparedocuments.png
index 41aad0b..84cc8d2 100644
Binary files a/icon-themes/galaxy/cmd/lc_comparedocuments.png and b/icon-themes/galaxy/cmd/lc_comparedocuments.png differ
diff --git a/icon-themes/galaxy/cmd/lc_comparedocuments.xcf.bz2 b/icon-themes/galaxy/cmd/lc_comparedocuments.xcf.bz2
new file mode 100644
index 0000000..40112db
Binary files /dev/null and b/icon-themes/galaxy/cmd/lc_comparedocuments.xcf.bz2 differ
diff --git a/icon-themes/galaxy/cmd/lc_insertbookmark.png b/icon-themes/galaxy/cmd/lc_insertbookmark.png
index 83dacab..6507485 100644
Binary files a/icon-themes/galaxy/cmd/lc_insertbookmark.png and b/icon-themes/galaxy/cmd/lc_insertbookmark.png differ
diff --git a/icon-themes/galaxy/cmd/lc_nexttrackedchange.png b/icon-themes/galaxy/cmd/lc_nexttrackedchange.png
index 41240ac..d668198 100644
Binary files a/icon-themes/galaxy/cmd/lc_nexttrackedchange.png and b/icon-themes/galaxy/cmd/lc_nexttrackedchange.png differ
diff --git a/icon-themes/galaxy/cmd/lc_previoustrackedchange.png b/icon-themes/galaxy/cmd/lc_previoustrackedchange.png
index c08810e..d232343 100644
Binary files a/icon-themes/galaxy/cmd/lc_previoustrackedchange.png and b/icon-themes/galaxy/cmd/lc_previoustrackedchange.png differ
diff --git a/icon-themes/galaxy/cmd/lc_protecttracechangemode.png b/icon-themes/galaxy/cmd/lc_protecttracechangemode.png
index 0ec89a7..5aba79f 100644
Binary files a/icon-themes/galaxy/cmd/lc_protecttracechangemode.png and b/icon-themes/galaxy/cmd/lc_protecttracechangemode.png differ
diff --git a/icon-themes/galaxy/cmd/lc_rejecttrackedchange.png b/icon-themes/galaxy/cmd/lc_rejecttrackedchange.png
index e032af7..ba761c0 100644
Binary files a/icon-themes/galaxy/cmd/lc_rejecttrackedchange.png and b/icon-themes/galaxy/cmd/lc_rejecttrackedchange.png differ
diff --git a/icon-themes/galaxy/cmd/lc_showtrackedchanges.png b/icon-themes/galaxy/cmd/lc_showtrackedchanges.png
index 77c6a75..e7e460b 100644
Binary files a/icon-themes/galaxy/cmd/lc_showtrackedchanges.png and b/icon-themes/galaxy/cmd/lc_showtrackedchanges.png differ
diff --git a/icon-themes/galaxy/cmd/lc_trackchanges.png b/icon-themes/galaxy/cmd/lc_trackchanges.png
index 71b7d1a..1923301 100644
Binary files a/icon-themes/galaxy/cmd/lc_trackchanges.png and b/icon-themes/galaxy/cmd/lc_trackchanges.png differ
diff --git a/icon-themes/galaxy/cmd/lc_trackchangesall.xcf.bz2 b/icon-themes/galaxy/cmd/lc_trackchangesall.xcf.bz2
new file mode 100644
index 0000000..8d2e31c
Binary files /dev/null and b/icon-themes/galaxy/cmd/lc_trackchangesall.xcf.bz2 differ
diff --git a/icon-themes/galaxy/cmd/lc_trackchangesbar.png b/icon-themes/galaxy/cmd/lc_trackchangesbar.png
index da11694..5c0dc02 100644
Binary files a/icon-themes/galaxy/cmd/lc_trackchangesbar.png and b/icon-themes/galaxy/cmd/lc_trackchangesbar.png differ
diff --git a/icon-themes/galaxy/cmd/lc_webhtml.png b/icon-themes/galaxy/cmd/lc_webhtml.png
index c5fd4de..04530b0 100644
Binary files a/icon-themes/galaxy/cmd/lc_webhtml.png and b/icon-themes/galaxy/cmd/lc_webhtml.png differ
diff --git a/icon-themes/galaxy/cmd/lc_webhtml.xcf.bz2 b/icon-themes/galaxy/cmd/lc_webhtml.xcf.bz2
new file mode 100644
index 0000000..6fc15c9
Binary files /dev/null and b/icon-themes/galaxy/cmd/lc_webhtml.xcf.bz2 differ
diff --git a/icon-themes/galaxy/cmd/sc_insertbookmark.png b/icon-themes/galaxy/cmd/sc_insertbookmark.png
index 8b39978..30bf44d 100644
Binary files a/icon-themes/galaxy/cmd/sc_insertbookmark.png and b/icon-themes/galaxy/cmd/sc_insertbookmark.png differ
commit d07f93ee56b92a76b88bd7d932186e5da3871d98
Author: Caolán McNamara <caolanm at redhat.com>
Date: Fri Jul 29 21:24:26 2016 +0100
fftester: another empty table manager stack
Change-Id: If3148cb6e16cff4aad28c4f86467c66ed04bcd05
(cherry picked from commit d00fc303bca7765762a602531b7d3b40ce8f1740)
Reviewed-on: https://gerrit.libreoffice.org/27704
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>
(cherry picked from commit a63b63f59f83c81efc7c6d5c33da421bddaec62a)
diff --git a/writerfilter/qa/cppunittests/rtftok/data/pass/tablemanager-2.rtf b/writerfilter/qa/cppunittests/rtftok/data/pass/tablemanager-2.rtf
new file mode 100644
index 0000000..58328ed
Binary files /dev/null and b/writerfilter/qa/cppunittests/rtftok/data/pass/tablemanager-2.rtf differ
diff --git a/writerfilter/qa/cppunittests/rtftok/data/pass/tablemanager-3.rtf b/writerfilter/qa/cppunittests/rtftok/data/pass/tablemanager-3.rtf
new file mode 100644
index 0000000..9fd5892
Binary files /dev/null and b/writerfilter/qa/cppunittests/rtftok/data/pass/tablemanager-3.rtf differ
diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx
index bddeddd..268017e 100644
--- a/writerfilter/source/dmapper/DomainMapper.cxx
+++ b/writerfilter/source/dmapper/DomainMapper.cxx
@@ -213,7 +213,7 @@ DomainMapper::~DomainMapper()
void DomainMapper::lcl_attribute(Id nName, Value & val)
{
- if (m_pImpl->getTableManager().attribute(nName, val))
+ if (m_pImpl->hasTableManager() && m_pImpl->getTableManager().attribute(nName, val))
return;
static const int nSingleLineSpacing = 240;
@@ -414,7 +414,7 @@ void DomainMapper::lcl_attribute(Id nName, Value & val)
else
aSpacing.Height = sal_Int16(ConversionHelper::convertTwipToMM100( nIntValue ));
- if( m_pImpl->getTableManager().isInCell() )
+ if (m_pImpl->hasTableManager() && m_pImpl->getTableManager().isInCell())
{
// direct formatting is applied for table cell data
TablePropertyMapPtr pTblCellWithDirectFormatting(new TablePropertyMap);
@@ -443,7 +443,7 @@ void DomainMapper::lcl_attribute(Id nName, Value & val)
aSpacing.Mode = style::LineSpacingMode::FIX;
}
- if( m_pImpl->getTableManager().isInCell() )
+ if (m_pImpl->hasTableManager() && m_pImpl->getTableManager().isInCell())
{
// If the table manager got the line rule after
// ooxml::CT_Spacing_line, then it should get the rule
@@ -2927,7 +2927,8 @@ void DomainMapper::lcl_endShape( )
// empty paragraph at the end of the shape text will cause problems: if
// the shape text ends with a table, the extra paragraph will be
// handled as an additional row of the ending table.
- m_pImpl->getTableManager().endTable();
+ if (m_pImpl->hasTableManager())
+ m_pImpl->getTableManager().endTable();
lcl_endParagraphGroup();
m_pImpl->PopShapeContext( );
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
index e3a5219..7567d07 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
@@ -2017,8 +2017,11 @@ void DomainMapper_Impl::UpdateEmbeddedShapeProps(const uno::Reference< drawing::
void DomainMapper_Impl::PopShapeContext()
{
- getTableManager().endLevel();
- popTableManager();
+ if (hasTableManager())
+ {
+ getTableManager().endLevel();
+ popTableManager();
+ }
if ( m_aAnchoredStack.size() > 0 )
{
// For OLE object replacement shape, the text append context was already removed
commit 613d8f32f0f8810e64c1308a0af0239421f9f8ce
Author: Caolán McNamara <caolanm at redhat.com>
Date: Fri Jul 29 10:08:25 2016 +0100
VclPtr: password prompts never dispose
Change-Id: I917e5457be6de152b39e91ad41b6ed196dfe3e45
(cherry picked from commit 4b73aff7d2e4af7d3a1359df52133cd2c59058c5)
Reviewed-on: https://gerrit.libreoffice.org/27676
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>
(cherry picked from commit c0af6d6dac1f0b9d99d7ecec92e4f3377979a475)
diff --git a/uui/source/iahndl-authentication.cxx b/uui/source/iahndl-authentication.cxx
index a58a0be..ac0f036 100644
--- a/uui/source/iahndl-authentication.cxx
+++ b/uui/source/iahndl-authentication.cxx
@@ -516,13 +516,12 @@ executePasswordDialog(
{
if (bIsSimplePasswordRequest)
{
- VclPtr< PasswordDialog > pDialog(
- VclPtr<PasswordDialog>::Create( pParent, nMode, xManager.get(), aDocName,
- bIsPasswordToModify, bIsSimplePasswordRequest ) );
- pDialog->SetMinLen(0);
+ ScopedVclPtrInstance<PasswordDialog> xDialog(pParent, nMode, xManager.get(), aDocName,
+ bIsPasswordToModify, bIsSimplePasswordRequest);
+ xDialog->SetMinLen(0);
- rInfo.SetResult( pDialog->Execute() == RET_OK ? ERRCODE_BUTTON_OK : ERRCODE_BUTTON_CANCEL );
- rInfo.SetPassword( pDialog->GetPassword() );
+ rInfo.SetResult(xDialog->Execute() == RET_OK ? ERRCODE_BUTTON_OK : ERRCODE_BUTTON_CANCEL);
+ rInfo.SetPassword(xDialog->GetPassword());
}
else
{
@@ -540,14 +539,13 @@ executePasswordDialog(
}
else // enter password or reenter password
{
- VclPtr< PasswordDialog > pDialog(
- VclPtr<PasswordDialog>::Create( pParent, nMode, xManager.get(), aDocName,
- bIsPasswordToModify, bIsSimplePasswordRequest ) );
- pDialog->SetMinLen(0);
-
- rInfo.SetResult( pDialog->Execute() == RET_OK ? ERRCODE_BUTTON_OK : ERRCODE_BUTTON_CANCEL );
- rInfo.SetPassword( bIsPasswordToModify ? OUString() : pDialog->GetPassword() );
- rInfo.SetPasswordToModify( bIsPasswordToModify ? pDialog->GetPassword() : OUString() );
+ ScopedVclPtrInstance<PasswordDialog> xDialog(pParent, nMode, xManager.get(), aDocName,
+ bIsPasswordToModify, bIsSimplePasswordRequest);
+ xDialog->SetMinLen(0);
+
+ rInfo.SetResult(xDialog->Execute() == RET_OK ? ERRCODE_BUTTON_OK : ERRCODE_BUTTON_CANCEL);
+ rInfo.SetPassword(bIsPasswordToModify ? OUString() : xDialog->GetPassword());
+ rInfo.SetPasswordToModify(bIsPasswordToModify ? xDialog->GetPassword() : OUString());
}
}
catch (std::bad_alloc const &)
commit 8889345f04d82efafcc92f961901d4227d3067ee
Author: Caolán McNamara <caolanm at redhat.com>
Date: Sat Jul 30 19:22:15 2016 +0100
fftester: context stack check
(cherry picked from commit 2acc9d06291b3f271c2a88bb4995d52d2d8d2152)
Change-Id: I4a135a9f9ac2f16f9dab096f5c234ff1d6e5e853
Reviewed-on: https://gerrit.libreoffice.org/27731
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>
(cherry picked from commit d795eb028160241bf47036a8d544320126b5e999)
diff --git a/writerfilter/qa/cppunittests/rtftok/data/fail/topcontext-1.rtf b/writerfilter/qa/cppunittests/rtftok/data/fail/topcontext-1.rtf
new file mode 100644
index 0000000..7cdb94a
Binary files /dev/null and b/writerfilter/qa/cppunittests/rtftok/data/fail/topcontext-1.rtf differ
diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx
index d39e6bb..bddeddd 100644
--- a/writerfilter/source/dmapper/DomainMapper.cxx
+++ b/writerfilter/source/dmapper/DomainMapper.cxx
@@ -3228,14 +3228,15 @@ void DomainMapper::lcl_utext(const sal_uInt8 * data_, size_t len)
// If the paragraph contains only the section properties and it has
// no runs, we should not create a paragraph for it in Writer, unless that would remove the whole section.
bool bRemove = !m_pImpl->GetParaChanged() && m_pImpl->GetParaSectpr() && !bSingleParagraph && !m_pImpl->GetIsDummyParaAddedForTableInSection();
- if (bRemove)
+ PropertyMapPtr xContext = bRemove ? m_pImpl->GetTopContextOfType(CONTEXT_PARAGRAPH) : PropertyMapPtr();
+ if (xContext)
{
// tdf#97417 delete numbering of the paragraph
// it will be deleted anyway, and the numbering would be copied
// to the next paragraph in sw SplitNode and then be applied to
// every following paragraph
- m_pImpl->GetTopContextOfType(CONTEXT_PARAGRAPH)->Erase(PROP_NUMBERING_RULES);
- m_pImpl->GetTopContextOfType(CONTEXT_PARAGRAPH)->Erase(PROP_NUMBERING_LEVEL);
+ xContext->Erase(PROP_NUMBERING_RULES);
+ xContext->Erase(PROP_NUMBERING_LEVEL);
}
m_pImpl->SetParaSectpr(false);
m_pImpl->finishParagraph(m_pImpl->GetTopContextOfType(CONTEXT_PARAGRAPH));
More information about the Libreoffice-commits
mailing list