[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