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 <[email protected]> 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 <[email protected]> Reviewed-by: Miklos Vajna <[email protected]> (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 <[email protected]> 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 <[email protected]> Reviewed-by: Miklos Vajna <[email protected]> (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 <[email protected]> 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 <[email protected]> Reviewed-by: Tomaž Vajngerl <[email protected]> (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 <[email protected]> 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 <[email protected]> Reviewed-by: Tomaž Vajngerl <[email protected]> (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 <[email protected]> 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 <[email protected]> Tested-by: Jenkins <[email protected]> (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 <[email protected]> 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 <[email protected]> Tested-by: jan iversen <[email protected]> Tested-by: Jenkins <[email protected]> Reviewed-by: Eike Rathke <[email protected]> (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 <[email protected]> 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 <[email protected]> Reviewed-by: Miklos Vajna <[email protected]> (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 <[email protected]> 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 <[email protected]> Reviewed-by: Miklos Vajna <[email protected]> (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 <[email protected]> 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 <[email protected]> Tested-by: Eike Rathke <[email protected]> Backported. Conflicts: sc/source/ui/view/tabvwsh3.cxx Change-Id: Ibb744c3eda78a80f33bdbfa5f5ddf0aa5b6361af Reviewed-on: https://gerrit.libreoffice.org/27825 Reviewed-by: Eike Rathke <[email protected]> Tested-by: Eike Rathke <[email protected]> Tested-by: Jenkins <[email protected]> (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 <[email protected]> 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 <[email protected]> Reviewed-by: Markus Mohrhard <[email protected]> (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 <[email protected]> Tested-by: Jenkins <[email protected]> (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 <[email protected]> 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 <[email protected]> Reviewed-by: Eike Rathke <[email protected]> Tested-by: Eike Rathke <[email protected]> (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 <[email protected]> Tested-by: Eike Rathke <[email protected]> Tested-by: Jenkins <[email protected]> (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 <[email protected]> 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 <[email protected]> Reviewed-by: Yousuf Philips <[email protected]> (cherry picked from commit 5101743e62980a1f6e1212116d20bbfaf9e86149) Reviewed-on: https://gerrit.libreoffice.org/27739 Reviewed-by: Caolán McNamara <[email protected]> Tested-by: Caolán McNamara <[email protected]> (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 <[email protected]> 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 <[email protected]> Reviewed-by: Markus Mohrhard <[email protected]> (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 <[email protected]> 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 <[email protected]> Reviewed-by: Markus Mohrhard <[email protected]> (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 <[email protected]> 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 <[email protected]> Reviewed-by: Markus Mohrhard <[email protected]> (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));
_______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
