[Libreoffice-commits] core.git: Branch 'distro/lhm/libreoffice-6-1+backports' - 38 commits - bin/lo-xlate-lang connectivity/source cui/source desktop/source dictionaries external/libnumbertext filter/source include/oox instsetoo_native/inc_openoffice officecfg/registry oox/source readlicense_oo/license RepositoryExternal.mk sc/inc scp2/source sc/source sc/uiconfig sdext/source sd/qa sd/uiconfig sfx2/source svl/source svtools/source svtools/uiconfig sw/qa sw/source translations vcl/osx vcl/unx xmloff/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Thu Jan 3 12:55:06 UTC 2019


 RepositoryExternal.mk                                                |    1 
 bin/lo-xlate-lang                                                    |    2 
 connectivity/source/drivers/firebird/PreparedStatement.cxx           |    4 
 connectivity/source/drivers/postgresql/pq_preparedstatement.cxx      |    4 
 connectivity/source/drivers/postgresql/pq_statement.cxx              |    9 
 cui/source/customize/SvxMenuConfigPage.cxx                           |    6 
 cui/source/customize/SvxToolbarConfigPage.cxx                        |   17 
 cui/source/customize/cfg.cxx                                         |   12 
 cui/source/options/optjava.cxx                                       |    4 
 desktop/source/deployment/gui/dp_gui_theextmgr.cxx                   |    1 
 dictionaries                                                         |    2 
 external/libnumbertext/ExternalProject_libnumbertext.mk              |    2 
 filter/source/xsltdialog/xmlfilterdialogcomponent.cxx                |   26 
 filter/source/xsltdialog/xmlfiltersettingsdialog.cxx                 |    4 
 filter/source/xsltdialog/xmlfiltersettingsdialog.hxx                 |    2 
 include/oox/drawingml/shape.hxx                                      |   14 
 instsetoo_native/inc_openoffice/windows/msi_templates/AppSearc.idt   |    1 
 instsetoo_native/inc_openoffice/windows/msi_templates/Property.idt   |    2 
 instsetoo_native/inc_openoffice/windows/msi_templates/RegLocat.idt   |    1 
 officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu |    5 
 officecfg/registry/schema/org/openoffice/Office/Common.xcs           |    2 
 oox/source/drawingml/diagram/diagramlayoutatoms.cxx                  |  176 
 oox/source/drawingml/diagram/diagramlayoutatoms.hxx                  |    9 
 oox/source/drawingml/diagram/layoutatomvisitors.cxx                  |   48 
 oox/source/drawingml/diagram/layoutatomvisitors.hxx                  |    2 
 oox/source/drawingml/diagram/layoutnodecontext.cxx                   |    2 
 oox/source/drawingml/shape.cxx                                       |    2 
 readlicense_oo/license/CREDITS.fodt                                  | 2940 +++++-----
 sc/inc/dpglobal.hxx                                                  |    2 
 sc/source/core/data/dpgroup.cxx                                      |    6 
 sc/source/filter/xml/XMLExportDataPilot.cxx                          |    1 
 sc/source/filter/xml/xmlexprt.cxx                                    |    2 
 sc/source/ui/condformat/condformatdlg.cxx                            |    6 
 sc/uiconfig/scalc/ui/textimportcsv.ui                                |    6 
 scp2/source/ooo/ucrt.scp                                             |    4 
 sd/qa/unit/data/pptx/smartart-accent-process.pptx                    |binary
 sd/qa/unit/data/pptx/smartart-continuous-block-process.pptx          |binary
 sd/qa/unit/import-tests-smartart.cxx                                 |  126 
 sd/uiconfig/simpress/menubar/menubar.xml                             |    1 
 sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx                   |    6 
 sfx2/source/dialog/dinfdlg.cxx                                       |   17 
 svl/source/items/itempool.cxx                                        |   11 
 svtools/source/dialogs/restartdialog.cxx                             |    5 
 svtools/uiconfig/ui/inputbox.ui                                      |    4 
 sw/qa/extras/odfexport/data/referencelanguage.odt                    |binary
 sw/qa/extras/odfexport/odfexport.cxx                                 |    2 
 sw/source/core/edit/edfcol.cxx                                       |    6 
 sw/source/core/fields/reffld.cxx                                     |    2 
 sw/source/uibase/app/apphdl.cxx                                      |   17 
 sw/source/uibase/uno/unotxdoc.cxx                                    |    5 
 translations                                                         |    2 
 vcl/osx/a11ywrapper.mm                                               |    2 
 vcl/unx/gtk/gtksalframe.cxx                                          |    7 
 vcl/unx/gtk/gtksalmenu.cxx                                           |   14 
 vcl/unx/gtk3/gtk3gtkframe.cxx                                        |    7 
 xmloff/source/draw/shapeexport.cxx                                   |    5 
 xmloff/source/forms/elementexport.cxx                                |    2 
 xmloff/source/forms/propertyexport.cxx                               |    4 
 xmloff/source/forms/propertyexport.hxx                               |    3 
 59 files changed, 2033 insertions(+), 1542 deletions(-)

New commits:
commit a91f0e9d95eb0391529c244b3d8469e3cacf9967
Merge: e9adb0201c52 808cc4d5fd87
Author:     Michael Weghorn <m.weghorn at posteo.de>
AuthorDate: Thu Jan 3 08:51:53 2019 +0100
Commit:     Michael Weghorn <m.weghorn at posteo.de>
CommitDate: Thu Jan 3 08:51:53 2019 +0100

    Merge branch 'libreoffice-6-1' into distro/lhm/libreoffice-6-1+backports
    
    Change-Id: I6727793a020df6b26df7bde4202e9eab43625a1b

commit 808cc4d5fd87e6e6719a4a16f815e5897608bd2d
Author:     Muhammet Kara <muhammet.kara at collabora.com>
AuthorDate: Wed Jan 2 01:24:20 2019 +0300
Commit:     Muhammet Kara <muhammet.kara at collabora.com>
CommitDate: Wed Jan 2 07:36:29 2019 +0100

    Resolves tdf#122383 and tdf#122410
    
    Add some null pointer checks
    
    Change-Id: I905c6dd46a5019e66d9c2e59374cc7d1ce83397b
    Reviewed-on: https://gerrit.libreoffice.org/65789
    Tested-by: Jenkins
    Reviewed-by: Muhammet Kara <muhammet.kara at collabora.com>
    (cherry picked from commit be8897d9c63a77b223a9c0aed1d2eb689e0e0082)
    Reviewed-on: https://gerrit.libreoffice.org/65799

diff --git a/cui/source/customize/SvxMenuConfigPage.cxx b/cui/source/customize/SvxMenuConfigPage.cxx
index 9b69c64a1374..a890fef033ab 100644
--- a/cui/source/customize/SvxMenuConfigPage.cxx
+++ b/cui/source/customize/SvxMenuConfigPage.cxx
@@ -500,6 +500,12 @@ IMPL_LINK_NOARG( SvxMenuConfigPage, ResetMenuHdl, Button *, void )
 {
     SvxConfigEntry* pMenuData = GetTopLevelSelection();
 
+    if (pMenuData == nullptr)
+    {
+        SAL_WARN("cui.customize", "RHB top level selection is null. A menu must be selected to reset!");
+        return;
+    }
+
     std::unique_ptr<weld::MessageDialog> xQueryBox(Application::CreateMessageDialog(GetFrameWeld(),
                                                    VclMessageType::Question, VclButtonsType::YesNo,
                                                    CuiResId(RID_SVXSTR_CONFIRM_RESTORE_DEFAULT_MENU)));
diff --git a/cui/source/customize/SvxToolbarConfigPage.cxx b/cui/source/customize/SvxToolbarConfigPage.cxx
index bdca809fd326..f3727b4c3234 100644
--- a/cui/source/customize/SvxToolbarConfigPage.cxx
+++ b/cui/source/customize/SvxToolbarConfigPage.cxx
@@ -515,9 +515,14 @@ IMPL_LINK( SvxToolbarConfigPage, ModifyItemHdl, MenuButton *, pButton, void )
 
     // get currently selected toolbar
     SvxConfigEntry* pToolbar = GetTopLevelSelection();
-
     OString sIdent = pButton->GetCurItemIdent();
 
+    if (sIdent.isEmpty() || pToolbar == nullptr)
+    {
+        SAL_WARN("cui.customize", "No toolbar selected, or empty sIdent!");
+        return;
+    }
+
     if (sIdent == "renameItem")
     {
         SvTreeListEntry* pActEntry = m_pContentsListBox->GetCurEntry();
@@ -856,10 +861,18 @@ IMPL_LINK_NOARG( SvxToolbarConfigPage, SelectToolbar, ListBox&, void )
 void SvxToolbarConfigPage::AddFunction(
     SvTreeListEntry* pTarget, bool bFront )
 {
+    SvxConfigEntry* pToolbar = GetTopLevelSelection();
+
+    if (pToolbar == nullptr)
+        return;
+
     // Add the command to the contents listbox of the selected toolbar
     SvTreeListEntry* pNewLBEntry =
         SvxConfigPage::AddFunction( pTarget, bFront, true/*bAllowDuplicates*/ );
 
+    if (pNewLBEntry == nullptr)
+        return;
+
     SvxConfigEntry* pEntry = static_cast<SvxConfigEntry*>(pNewLBEntry->GetUserData());
 
     if ( pEntry->IsBinding() )
@@ -878,8 +891,6 @@ void SvxToolbarConfigPage::AddFunction(
     // TODO: Figure out a way to show the changes on the toolbar, but revert if
     //       the dialog is closed by pressing "Cancel"
     // get currently selected toolbar and apply change
-    SvxConfigEntry* pToolbar = GetTopLevelSelection();
-
     if ( pToolbar != nullptr )
     {
         static_cast<ToolbarSaveInData*>( GetSaveInData() )->ApplyToolbar( pToolbar );
diff --git a/cui/source/customize/cfg.cxx b/cui/source/customize/cfg.cxx
index 8d64d3ce2e3c..df347cc811e2 100644
--- a/cui/source/customize/cfg.cxx
+++ b/cui/source/customize/cfg.cxx
@@ -1600,8 +1600,9 @@ SvTreeListEntry* SvxConfigPage::AddFunction(
     SvTreeListEntry* pTarget, bool bFront, bool bAllowDuplicates )
 {
     OUString aURL = GetScriptURL();
+    SvxConfigEntry* pParent = GetTopLevelSelection();
 
-    if ( aURL.isEmpty() )
+    if ( aURL.isEmpty() || pParent == nullptr )
     {
         return nullptr;
     }
@@ -1624,8 +1625,6 @@ SvTreeListEntry* SvxConfigPage::AddFunction(
         pNewEntryData->SetName( GetSelectedDisplayName() );
 
     // check that this function is not already in the menu
-    SvxConfigEntry* pParent = GetTopLevelSelection();
-
     if ( !bAllowDuplicates )
     {
         for (auto const& entry : *pParent->GetEntries())
@@ -1649,8 +1648,13 @@ SvTreeListEntry* SvxConfigPage::InsertEntry(
     SvTreeListEntry* pTarget,
     bool bFront )
 {
+    SvxConfigEntry* pTopLevelSelection = GetTopLevelSelection();
+
+    if (pTopLevelSelection == nullptr)
+        return nullptr;
+
     // Grab the entries list for the currently selected menu
-    SvxEntries* pEntries = GetTopLevelSelection()->GetEntries();
+    SvxEntries* pEntries = pTopLevelSelection->GetEntries();
 
     SvTreeListEntry* pNewEntry = nullptr;
     SvTreeListEntry* pCurEntry =
commit 800fe6c8a07e5977a1002a9765f618735e596d59
Author:     Denis Arnaud <denisarnuad at yahoo.fr>
AuthorDate: Tue Jan 1 23:25:12 2019 +0100
Commit:     Gerrit Code Review <gerrit at gerrit.libreoffice.org>
CommitDate: Tue Jan 1 23:27:40 2019 +0100

    Update git submodules
    
    * Update dictionaries from branch 'libreoffice-6-1'
      - Updated Breton spelling dictionary to version 0.16
    
        Change-Id: Id63e2340c97f7071480ab73ebd46611ba9a8929c
        Reviewed-on: https://gerrit.libreoffice.org/65791
        Reviewed-by: Andras Timar <andras.timar at collabora.com>
        Tested-by: Andras Timar <andras.timar at collabora.com>

diff --git a/dictionaries b/dictionaries
index aa3f26cd95e3..1935c6122ccb 160000
--- a/dictionaries
+++ b/dictionaries
@@ -1 +1 @@
-Subproject commit aa3f26cd95e3acd29c4a9ca68052004ab35c6f88
+Subproject commit 1935c6122ccbcad2ccd0a0f6a8f54604f5dbde13
commit 01e263bad891abea9bc671a29c95ea8a8b5fb842
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Tue Dec 4 15:27:54 2018 +0000
Commit:     Markus Mohrhard <markus.mohrhard at googlemail.com>
CommitDate: Tue Jan 1 22:52:27 2019 +0100

    Resolves: tdf#121641 properties invisible after 'reset'
    
    Change-Id: Iedb2b11be0e008501273925d6ae7137b28c3b912
    Reviewed-on: https://gerrit.libreoffice.org/64539
    Tested-by: Jenkins
    Tested-by: Xisco Faulí <xiscofauli at libreoffice.org>
    Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>

diff --git a/sfx2/source/dialog/dinfdlg.cxx b/sfx2/source/dialog/dinfdlg.cxx
index 2e560e73520b..6cb3600a491a 100644
--- a/sfx2/source/dialog/dinfdlg.cxx
+++ b/sfx2/source/dialog/dinfdlg.cxx
@@ -1511,7 +1511,14 @@ void CustomPropertiesWindow::dispose()
 {
     m_aEditLoseFocusIdle.Stop();
     m_aBoxLoseFocusIdle.Stop();
-    ClearAllLines();
+
+    for (CustomPropertyLine* pLine : m_aCustomPropertiesLines)
+    {
+        delete pLine;
+    }
+    m_pCurrentLine = nullptr;
+    m_aCustomPropertiesLines.clear();
+
     m_pHeaderBar.clear();
     m_pScrollBar.clear();
     m_pHeaderAccName.clear();
@@ -1746,16 +1753,12 @@ bool CustomPropertiesWindow::AreAllLinesValid() const
 
 void CustomPropertiesWindow::ClearAllLines()
 {
-    std::vector< CustomPropertyLine* >::iterator pIter;
-    for ( pIter = m_aCustomPropertiesLines.begin();
-          pIter != m_aCustomPropertiesLines.end(); ++pIter )
+    for (CustomPropertyLine* pLine : m_aCustomPropertiesLines)
     {
-        CustomPropertyLine* pLine = *pIter;
-        delete pLine;
+        pLine->Clear();
     }
     m_pCurrentLine = nullptr;
     m_aCustomProperties.clear();
-    m_aCustomPropertiesLines.clear();
     m_nScrollPos = 0;
 }
 
commit 78c52b1ab97397f99af279df78df798efde91136
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Tue Dec 4 13:01:14 2018 +0000
Commit:     Markus Mohrhard <markus.mohrhard at googlemail.com>
CommitDate: Tue Jan 1 22:51:15 2019 +0100

    tdf#121855 like osx case don't search near-infinite calc grid for focus
    
    Change-Id: Ie6bccd2781fbbdc5f4d5dc2eb6903191aafe8265
    Reviewed-on: https://gerrit.libreoffice.org/64521
    Tested-by: Jenkins
    Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>

diff --git a/vcl/osx/a11ywrapper.mm b/vcl/osx/a11ywrapper.mm
index 67e155e81e53..b35a1d22745d 100644
--- a/vcl/osx/a11ywrapper.mm
+++ b/vcl/osx/a11ywrapper.mm
@@ -992,7 +992,7 @@ Reference < XAccessibleContext > hitTestRunner ( css::awt::Point point,
             bool bSafeToIterate = true;
             sal_Int32 nCount = rxAccessibleContext -> getAccessibleChildCount();
 
-            if ( nCount < 0 || nCount > SAL_MAX_UINT16 /* slow enough for anyone */ )
+            if (nCount < 0 || nCount > SAL_MAX_UINT16 /* slow enough for anyone */)
                 bSafeToIterate = false;
             else { // manages descendants is an horror from the a11y standards guys.
                 Reference< XAccessibleStateSet > xStateSet;
diff --git a/vcl/unx/gtk/gtksalframe.cxx b/vcl/unx/gtk/gtksalframe.cxx
index 16e716b16daa..56cb33520443 100644
--- a/vcl/unx/gtk/gtksalframe.cxx
+++ b/vcl/unx/gtk/gtksalframe.cxx
@@ -3666,6 +3666,13 @@ uno::Reference<accessibility::XAccessibleEditableText>
         }
     }
 
+    bool bSafeToIterate = true;
+    sal_Int32 nCount = xContext->getAccessibleChildCount();
+    if (nCount < 0 || nCount > SAL_MAX_UINT16 /* slow enough for anyone */)
+        bSafeToIterate = false;
+    if (!bSafeToIterate)
+        return uno::Reference< accessibility::XAccessibleEditableText >();
+
     for (sal_Int32 i = 0; i < xContext->getAccessibleChildCount(); ++i)
     {
         uno::Reference< accessibility::XAccessible > xChild = xContext->getAccessibleChild(i);
diff --git a/vcl/unx/gtk3/gtk3gtkframe.cxx b/vcl/unx/gtk3/gtk3gtkframe.cxx
index 71ab50efc813..95e616473608 100644
--- a/vcl/unx/gtk3/gtk3gtkframe.cxx
+++ b/vcl/unx/gtk3/gtk3gtkframe.cxx
@@ -4213,6 +4213,13 @@ uno::Reference<accessibility::XAccessibleEditableText>
         }
     }
 
+    bool bSafeToIterate = true;
+    sal_Int32 nCount = xContext->getAccessibleChildCount();
+    if (nCount < 0 || nCount > SAL_MAX_UINT16 /* slow enough for anyone */)
+        bSafeToIterate = false;
+    if (!bSafeToIterate)
+        return uno::Reference< accessibility::XAccessibleEditableText >();
+
     for (sal_Int32 i = 0; i < xContext->getAccessibleChildCount(); ++i)
     {
         uno::Reference< accessibility::XAccessible > xChild = xContext->getAccessibleChild(i);
commit cb32be59baca89dc0d21a5f16c8ecd46b143c436
Author:     Julien Nabet <serval2412 at yahoo.fr>
AuthorDate: Sun Dec 16 14:21:37 2018 +0100
Commit:     Markus Mohrhard <markus.mohrhard at googlemail.com>
CommitDate: Mon Dec 31 21:49:30 2018 +0100

    tdf#122136: select first element if there's at least one
    
    See bt from https://bugs.documentfoundation.org/attachment.cgi?id=147594
    
    Change-Id: Ibf031b8024aa4952e2d3263a445cafdb3c031390
    Reviewed-on: https://gerrit.libreoffice.org/65222
    Tested-by: Jenkins
    Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>

diff --git a/cui/source/options/optjava.cxx b/cui/source/options/optjava.cxx
index 3f8c0cb794da..fb401745c52e 100644
--- a/cui/source/options/optjava.cxx
+++ b/cui/source/options/optjava.cxx
@@ -1012,9 +1012,9 @@ void SvxJavaClassPathDlg::SetClassPath( const OUString& _rPath )
             m_xPathList->append("", sPath, SvFileInformationManager::GetImageId(aURL));
         }
         while (nIdx>=0);
+        // select first entry
+        m_xPathList->select(0);
     }
-    // select first entry
-    m_xPathList->select(0);
     SelectHdl_Impl(*m_xPathList);
 }
 
commit 26ad33a6f1e894d7352fb3d175c8d15dd28673b2
Author:     Julien Nabet <serval2412 at yahoo.fr>
AuthorDate: Wed Dec 26 18:13:58 2018 +0100
Commit:     Markus Mohrhard <markus.mohrhard at googlemail.com>
CommitDate: Mon Dec 31 21:48:28 2018 +0100

    tdf#122335: sub-view-size can only be used with ODF ver > 1.2
    
    Change-Id: I7dd767fddd11319017a215c240684dcc17238c4e
    Reviewed-on: https://gerrit.libreoffice.org/65627
    Tested-by: Jenkins
    Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>

diff --git a/xmloff/source/draw/shapeexport.cxx b/xmloff/source/draw/shapeexport.cxx
index 733df9b1ba98..e81b99b52978 100644
--- a/xmloff/source/draw/shapeexport.cxx
+++ b/xmloff/source/draw/shapeexport.cxx
@@ -4599,6 +4599,11 @@ void ImpExportEnhancedGeometry( SvXMLExport& rExport, const uno::Reference< bean
                                 {
                                     case EAS_SubViewSize:
                                     {
+                                        // export draw:sub-view-size (do not export in ODF 1.2 or older)
+                                        if (rExport.getDefaultVersion() <= SvtSaveOptions::ODFVER_012)
+                                        {
+                                            continue;
+                                        }
                                         uno::Sequence< awt::Size > aSubViewSizes;
                                         rProp.Value >>= aSubViewSizes;
 
commit 9377e77b8b49a4b0bf045566bbe802b511ca1fd8
Author:     Julien Nabet <serval2412 at yahoo.fr>
AuthorDate: Sun Dec 30 00:20:33 2018 +0100
Commit:     Markus Mohrhard <markus.mohrhard at googlemail.com>
CommitDate: Mon Dec 31 21:45:10 2018 +0100

    tdf#114919: fix ods export in ODF 1.2 strict
    
    See Valgrind trace here:
    https://bugs.documentfoundation.org/attachment.cgi?id=147891
    which contains bt
    
    Due to a8b7c72425aabae87bfd2e141aa06f06319ae11c
    "
    add error to office:value-type for calc cells and fdo#51810
    For cached value import we need the information which cells are error
    cells. For ODF 1.2 extended we therefore export now calcext:office-value
    with the additional value "error".
    "
    
    Change-Id: I13547ecc7ef8c1c4e1a236229d3b19d51f12470b
    Reviewed-on: https://gerrit.libreoffice.org/65728
    Tested-by: Jenkins
    Reviewed-by: Julien Nabet <serval2412 at yahoo.fr>
    (cherry picked from commit 5534bfef6426128af2147de995224d7cdf43a2bf)
    Reviewed-on: https://gerrit.libreoffice.org/65738
    Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>

diff --git a/sc/source/filter/xml/xmlexprt.cxx b/sc/source/filter/xml/xmlexprt.cxx
index c7131e4e5b08..8cd6ebc11085 100644
--- a/sc/source/filter/xml/xmlexprt.cxx
+++ b/sc/source/filter/xml/xmlexprt.cxx
@@ -3245,7 +3245,7 @@ void ScXMLExport::WriteCell(ScMyCell& aCell, sal_Int32 nEqualCellCount)
                         {
                             GetNumberFormatAttributesExportHelper()->SetNumberFormatAttributes(
                                     aCell.nNumberFormat, pDoc->GetValue(aCell.maCellAddress));
-                            if( getDefaultVersion() >= SvtSaveOptions::ODFVER_012 )
+                            if( getDefaultVersion() > SvtSaveOptions::ODFVER_012 )
                             {
                                 GetNumberFormatAttributesExportHelper()->SetNumberFormatAttributes(
                                         aCell.nNumberFormat, pDoc->GetValue(aCell.maCellAddress), false, XML_NAMESPACE_CALC_EXT, false );
commit c64564c6b520f4dbadb689e958dafa1591b3711d
Author:     Julien Nabet <serval2412 at yahoo.fr>
AuthorDate: Sun Dec 30 12:51:25 2018 +0100
Commit:     Markus Mohrhard <markus.mohrhard at googlemail.com>
CommitDate: Mon Dec 31 21:43:59 2018 +0100

    tdf#112484: repeat-item-labels is invalid in odf1.2 strict
    
    Change-Id: I23d204ef3d4e466876bb3416d616dc1f3682ad4c
    Reviewed-on: https://gerrit.libreoffice.org/65740
    Tested-by: Jenkins
    (cherry picked from commit 40a7e9c93855ac6cceb4c4189587998e21581de5)
    Reviewed-on: https://gerrit.libreoffice.org/65749
    Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>

diff --git a/sc/source/filter/xml/XMLExportDataPilot.cxx b/sc/source/filter/xml/XMLExportDataPilot.cxx
index 436cf515ed1e..df52e39f8648 100644
--- a/sc/source/filter/xml/XMLExportDataPilot.cxx
+++ b/sc/source/filter/xml/XMLExportDataPilot.cxx
@@ -492,6 +492,7 @@ void ScXMLExportDataPilot::WriteLevels(const ScDPSaveDimension* pDim)
         ::sax::Converter::convertBool(sBuffer, pDim->GetShowEmpty());
         rExport.AddAttribute(XML_NAMESPACE_TABLE, XML_SHOW_EMPTY, sBuffer.makeStringAndClear());
     }
+    if (rExport.getDefaultVersion() > SvtSaveOptions::ODFVER_012)
     {
         OUStringBuffer sBuffer;
         ::sax::Converter::convertBool(sBuffer, pDim->GetRepeatItemLabels());
commit c6e82304a5c75a96b08e494c825f005b91ed3104
Author:     Rene Engelhard <rene at debian.org>
AuthorDate: Sun Dec 30 13:57:06 2018 +0100
Commit:     Adolfo Jayme Barrientos <fitojb at ubuntu.com>
CommitDate: Mon Dec 31 03:43:32 2018 +0100

    deb#917795 Belarussian → Belarusian
    
    Change-Id: I2b0be9bf13cb3feedecbe22c5c844d9328013b3a
    Reviewed-on: https://gerrit.libreoffice.org/65745
    Tested-by: Jenkins
    Reviewed-by: Adolfo Jayme Barrientos <fitojb at ubuntu.com>

diff --git a/bin/lo-xlate-lang b/bin/lo-xlate-lang
index 1580d642027a..fcfd90cbb6e6 100755
--- a/bin/lo-xlate-lang
+++ b/bin/lo-xlate-lang
@@ -111,7 +111,7 @@ print $LanguageMap->{$LanguageCode}, "\n";
 # keep third column names here with openoffice-dir/share/*/<long lang name>/
 
 __DATA__
-:be:belarussian
+:be:belarusian
 :bg:bulgarian
 :bn:bengali
 :bs:bosnian
commit 95182333220f96cc511dc023c3235562b210107e
Author:     Adolfo Jayme Barrientos <fitojb at ubuntu.com>
AuthorDate: Fri Nov 30 19:59:11 2018 -0600
Commit:     Gerrit Code Review <gerrit at gerrit.libreoffice.org>
CommitDate: Sat Dec 29 20:42:48 2018 +0100

    Update git submodules
    
    * Update dictionaries from branch 'libreoffice-6-1'
      - tdf#99826 Update Galician dictionaries to version 18.07
    
        Change-Id: If3a2f77855159c1a2a50880b0eb37a824c926f6c
        Reviewed-on: https://gerrit.libreoffice.org/64370
        Reviewed-by: Aron Budea <aron.budea at collabora.com>
        Tested-by: Aron Budea <aron.budea at collabora.com>
        (cherry picked from commit fea4ea689cd27d4c0bd981fdc01225d3bfacfc2d)
        Reviewed-on: https://gerrit.libreoffice.org/65655
        Reviewed-by: Andras Timar <andras.timar at collabora.com>
        Tested-by: Andras Timar <andras.timar at collabora.com>

diff --git a/dictionaries b/dictionaries
index fe5f4cf69ea4..aa3f26cd95e3 160000
--- a/dictionaries
+++ b/dictionaries
@@ -1 +1 @@
-Subproject commit fe5f4cf69ea41989db468588a69989d6ae444bd0
+Subproject commit aa3f26cd95e3acd29c4a9ca68052004ab35c6f88
commit a93713359265a9a1403c744e467eb5faa09cc747
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Sun Dec 23 20:05:14 2018 +0000
Commit:     Adolfo Jayme Barrientos <fitojb at ubuntu.com>
CommitDate: Fri Dec 28 07:36:47 2018 +0100

    tdf#122269 don't prompt to restart if we're exiting the application anyway
    
    Change-Id: I6272ae92b7e948680fb7241c387eb205adbbea01
    Reviewed-on: https://gerrit.libreoffice.org/65596
    Tested-by: Jenkins
    Reviewed-by: Adolfo Jayme Barrientos <fitojb at ubuntu.com>

diff --git a/desktop/source/deployment/gui/dp_gui_theextmgr.cxx b/desktop/source/deployment/gui/dp_gui_theextmgr.cxx
index 94a8dd09df6c..f50687e11934 100644
--- a/desktop/source/deployment/gui/dp_gui_theextmgr.cxx
+++ b/desktop/source/deployment/gui/dp_gui_theextmgr.cxx
@@ -445,6 +445,7 @@ void TheExtensionManager::queryTermination( ::lang::EventObject const & )
     }
     else
     {
+        clearModified();
         if ( m_pExtMgrDialog )
             m_pExtMgrDialog->Close();
         if ( m_pUpdReqDialog )
commit f2d8aa40c811d78b71302285711bc2eccdbcd9ea
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Fri Dec 21 13:00:33 2018 +0000
Commit:     Caolán McNamara <caolanm at redhat.com>
CommitDate: Sun Dec 23 18:10:10 2018 +0100

    tdf#120576 avoid crash during database migration
    
    0xFFFF cast to short turned into -1 so wasn't seen as > 8000
    
    Change-Id: I57592020c3c31751bec43f2619bf65d41ac47e87
    Reviewed-on: https://gerrit.libreoffice.org/65540
    Tested-by: Jenkins
    Reviewed-by: Julien Nabet <serval2412 at yahoo.fr>
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/connectivity/source/drivers/firebird/PreparedStatement.cxx b/connectivity/source/drivers/firebird/PreparedStatement.cxx
index fee4029088f4..be81eef324a3 100644
--- a/connectivity/source/drivers/firebird/PreparedStatement.cxx
+++ b/connectivity/source/drivers/firebird/PreparedStatement.cxx
@@ -207,7 +207,7 @@ void SAL_CALL OPreparedStatement::setString(sal_Int32 nParameterIndex,
         {
             str = str.copy(0, max_varchar_len);
         }
-        const short nLength = str.getLength();
+        const auto nLength = str.getLength();
         memcpy(pVar->sqldata, &nLength, 2);
         // Actual data
         memcpy(pVar->sqldata + 2, str.getStr(), str.getLength());
@@ -841,7 +841,7 @@ void SAL_CALL OPreparedStatement::setBytes(sal_Int32 nParameterIndex,
             {
                 xBytesCopy.realloc( nMaxSize );
             }
-            const short nSize = xBytesCopy.getLength();
+            const auto nSize = xBytesCopy.getLength();
             // 8000 corresponds to value from lcl_addDefaultParameters
             // in dbaccess/source/filter/hsqldb/createparser.cxx
             if (nSize > 8000)
commit 8d2c4a9611097b37f6d69654807693314c6fada0
Author:     Mike Kaganski <mike.kaganski at collabora.com>
AuthorDate: Wed Dec 12 11:11:20 2018 +0100
Commit:     Caolán McNamara <caolanm at redhat.com>
CommitDate: Fri Dec 21 15:04:03 2018 +0100

    tdf#122038: don't create another RestartDialog if already restarting
    
    otherwise it crashes/aborts in Window::dispose() with this backtrace:
    
    ucrtbased.dll!issue_debug_notification(const wchar_t * const message) Line 28
            at minkernel\crts\ucrt\src\appcrt\internal\report_runtime_error.cpp(28)
    ucrtbased.dll!__acrt_report_runtime_error(const wchar_t * message) Line 154
            at minkernel\crts\ucrt\src\appcrt\internal\report_runtime_error.cpp(154)
    ucrtbased.dll!abort() Line 61
            at minkernel\crts\ucrt\src\appcrt\startup\abort.cpp(61)
    vcllo.dll!SalAbort(const rtl::OUString & rErrorText, bool bDumpCore) Line 309
            at c:\lo\src\core\vcl\source\app\salplug.cxx(309)
    vcllo.dll!Application::Abort(const rtl::OUString & rErrorText) Line 270
            at c:\lo\src\core\vcl\source\app\svapp.cxx(270)
    vcllo.dll!vcl::Window::dispose() Line 275
            at c:\lo\src\core\vcl\source\window\window.cxx(275)
    vcllo.dll!SystemWindow::dispose() Line 114
            at c:\lo\src\core\vcl\source\window\syswin.cxx(114)
    vcllo.dll!Dialog::dispose() Line 647
            at c:\lo\src\core\vcl\source\window\dialog.cxx(647)
    vcllo.dll!VclReferenceBase::disposeOnce() Line 43
            at c:\lo\src\core\vcl\source\outdev\vclreferencebase.cxx(43)
    tklo.dll!VclPtr<vcl::Window>::disposeAndClear() Line 206
            at c:\lo\src\core\include\vcl\vclptr.hxx(206)
    tklo.dll!UnoWrapper::WindowDestroyed(vcl::Window * pWindow) Line 294
            at c:\lo\src\core\toolkit\source\helper\unowrapper.cxx(294)
    vcllo.dll!vcl::Window::dispose() Line 233
            at c:\lo\src\core\vcl\source\window\window.cxx(233)
    vcllo.dll!SystemWindow::dispose() Line 114
            at c:\lo\src\core\vcl\source\window\syswin.cxx(114)
    vcllo.dll!WorkWindow::dispose() Line 129
            at c:\lo\src\core\vcl\source\window\wrkwin.cxx(129)
    vcllo.dll!VclReferenceBase::disposeOnce() Line 43
            at c:\lo\src\core\vcl\source\outdev\vclreferencebase.cxx(43)
    tklo.dll!VclPtr<OutputDevice>::disposeAndClear() Line 206
            at c:\lo\src\core\include\vcl\vclptr.hxx(206)
    tklo.dll!VCLXWindow::dispose() Line 947
            at c:\lo\src\core\toolkit\source\awt\vclxwindow.cxx(947)
    fwklo.dll!`anonymous namespace'::XFrameImpl::disposing() Line 2184
            at c:\lo\src\core\framework\source\services\frame.cxx(2184)
    cppuhelper3MSC.dll!cppu::WeakComponentImplHelperBase::dispose() Line 105
            at c:\lo\src\core\cppuhelper\source\implbase.cxx(105)
    fwklo.dll!cppu::PartialWeakComponentImplHelper<com::sun::star::lang::XServiceInfo,com::sun::star::frame::XFrame2,com::sun::star::awt::XWindowListener,com::sun::star::awt::XTopWindowListener,com::sun::star::awt::XFocusListener,com::sun::star::document::XActionLockable,com::sun::star::util::XCloseable,com::sun::star::frame::XComponentLoader,com::sun::star::frame::XTitle,com::sun::star::frame::XTitleChangeBroadcaster,com::sun::star::beans::XPropertySet,com::sun::star::beans::XPropertySetInfo>::dispose() Line 90
            at c:\lo\src\core\include\cppuhelper\compbase.hxx(90)
    fwklo.dll!`anonymous namespace'::XFrameImpl::close(unsigned char bDeliverOwnership) Line 1716
            at c:\lo\src\core\framework\source\services\frame.cxx(1716)
    fwklo.dll!framework::Desktop::impl_closeFrames(bool bAllowUI) Line 1743
            at c:\lo\src\core\framework\source\services\desktop.cxx(1743)
    fwklo.dll!framework::Desktop::terminate() Line 233
            at c:\lo\src\core\framework\source\services\desktop.cxx(233)
    comphelper.dll!comphelper::OOfficeRestartManager::notify(const com::sun::star::uno::Any & __formal) Line 109
            at c:\lo\src\core\comphelper\source\misc\officerestartmanager.cxx(109)
    tklo.dll!`anonymous namespace'::AsyncCallback::Notify_Impl(`anonymous-namespace'::AsyncCallback * __formal, void * p) Line 105
            at c:\lo\src\core\toolkit\source\awt\asynccallback.cxx(105)
    tklo.dll!`anonymous namespace'::AsyncCallback::LinkStubNotify_Impl(void * instance, void * data) Line 97
            at c:\lo\src\core\toolkit\source\awt\asynccallback.cxx(97)
    vcllo.dll!Link<void *,void>::Call(void * data) Line 84
            at c:\lo\src\core\include\tools\link.hxx(84)
    vcllo.dll!ImplHandleUserEvent(ImplSVEvent * pSVEvent) Line 1935
            at c:\lo\src\core\vcl\source\window\winproc.cxx(1935)
    vcllo.dll!ImplWindowFrameProc(vcl::Window * _pWindow, SalEvent nEvent, const void * pEvent) Line 2486
            at c:\lo\src\core\vcl\source\window\winproc.cxx(2486)
    vcllo.dll!SalFrame::CallCallback(SalEvent nEvent, const void * pEvent) Line 285
            at c:\lo\src\core\vcl\inc\salframe.hxx(285)
    vclplug_winlo.dll!ImplHandleUserEvent(HWND__ * hWnd, __int64 lParam) Line 4068
            at c:\lo\src\core\vcl\win\window\salframe.cxx(4068)
    vclplug_winlo.dll!SalFrameWndProc(HWND__ * hWnd, unsigned int nMsg, unsigned __int64 wParam, __int64 lParam, bool & rDef) Line 5721
            at c:\lo\src\core\vcl\win\window\salframe.cxx(5721)
    vclplug_winlo.dll!SalFrameWndProcW(HWND__ * hWnd, unsigned int nMsg, unsigned __int64 wParam, __int64 lParam) Line 5828
            at c:\lo\src\core\vcl\win\window\salframe.cxx(5828)
    user32.dll!UserCallWinProcCheckWow()
    user32.dll!CallWindowProcW()
    opengl32.dll!wglWndProc()
    user32.dll!UserCallWinProcCheckWow()
    user32.dll!DispatchMessageWorker()
    vclplug_winlo.dll!ImplSalDispatchMessage(const tagMSG * pMsg) Line 410
            at c:\lo\src\core\vcl\win\app\salinst.cxx(410)
    vclplug_winlo.dll!ImplSalYield(bool bWait, bool bHandleAllCurrentEvents) Line 441
            at c:\lo\src\core\vcl\win\app\salinst.cxx(441)
    vclplug_winlo.dll!WinSalInstance::DoYield(bool bWait, bool bHandleAllCurrentEvents) Line 512
            at c:\lo\src\core\vcl\win\app\salinst.cxx(512)
    vcllo.dll!ImplYield(bool i_bWait, bool i_bAllEvents) Line 441
            at c:\lo\src\core\vcl\source\app\svapp.cxx(441)
    vcllo.dll!Application::Yield() Line 506
            at c:\lo\src\core\vcl\source\app\svapp.cxx(506)
    vcllo.dll!Dialog::Execute() Line 1041
            at c:\lo\src\core\vcl\source\window\dialog.cxx(1041)
    vcllo.dll!SalInstanceDialog::run() Line 881
            at c:\lo\src\core\vcl\source\app\salvtables.cxx(881)
    vcllo.dll!weld::DialogController::run() Line 1364
            at c:\lo\src\core\include\vcl\weld.hxx(1364)
    svtlo.dll!svtools::executeRestartDialog(const com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> & context, weld::Window * parent, svtools::RestartReason reason) Line 101
            at c:\lo\src\core\svtools\source\dialogs\restartdialog.cxx(98)
    cuilo.dll!OfaTreeOptionsDialog::OKHdl_Impl(Button * __formal) Line 735
            at c:\lo\src\core\cui\source\options\treeopt.cxx(735)
    cuilo.dll!OfaTreeOptionsDialog::LinkStubOKHdl_Impl(void * instance, Button * data) Line 704
            at c:\lo\src\core\cui\source\options\treeopt.cxx(704)
    vcllo.dll!Link<Button *,void>::Call(Button * data) Line 84
            at c:\lo\src\core\include\tools\link.hxx(84)
    vcllo.dll!Button::Click::__l2::<lambda>() Line 125
            at c:\lo\src\core\vcl\source\control\button.cxx(125)
    vcllo.dll!std::_Invoker_functor::_Call<void <lambda>(void) &>(Button::Click::__l2::void <lambda>(void) & _Obj)
    vcllo.dll!std::invoke<void <lambda>(void) &>(Button::Click::__l2::void <lambda>(void) & _Obj)
    vcllo.dll!std::_Invoker_ret<void,1>::_Call<void <lambda>(void) &>(Button::Click::__l2::void <lambda>(void) & <_Vals_0>)
    vcllo.dll!std::_Func_impl_no_alloc<void <lambda>(void),void>::_Do_call()
    vcllo.dll!std::_Func_class<void>::operator()()
    vcllo.dll!Control::ImplCallEventListenersAndHandler(VclEventId nEvent, const std::function<void __cdecl(void)> & callHandler) Line 321
            at c:\lo\src\core\vcl\source\control\ctrl.cxx(321)
    vcllo.dll!Button::Click() Line 125
            at c:\lo\src\core\vcl\source\control\button.cxx(125)
    vcllo.dll!OKButton::Click() Line 1737
            at c:\lo\src\core\vcl\source\control\button.cxx(1737)
    vcllo.dll!PushButton::Tracking(const TrackingEvent & rTEvt) Line 1260
            at c:\lo\src\core\vcl\source\control\button.cxx(1260)
    vcllo.dll!vcl::Window::EndTracking(TrackingEventFlags nFlags) Line 320
            at c:\lo\src\core\vcl\source\window\window2.cxx(320)
    vcllo.dll!ImplHandleMouseEvent(const VclPtr<vcl::Window> & xWindow, MouseNotifyEvent nSVEvent, bool bMouseLeave, long nX, long nY, unsigned __int64 nMsgTime, unsigned short nCode, MouseEventModifiers nMode) Line 703
            at c:\lo\src\core\vcl\source\window\winproc.cxx(703)
    vcllo.dll!ImplHandleSalMouseButtonUp(vcl::Window * pWindow, const SalMouseEvent * pEvent) Line 1998
            at c:\lo\src\core\vcl\source\window\winproc.cxx(1998)
    vcllo.dll!ImplWindowFrameProc(vcl::Window * _pWindow, SalEvent nEvent, const void * pEvent) Line 2336
            at c:\lo\src\core\vcl\source\window\winproc.cxx(2336)
    vcllo.dll!SalFrame::CallCallback(SalEvent nEvent, const void * pEvent) Line 285
            at c:\lo\src\core\vcl\inc\salframe.hxx(285)
    vclplug_winlo.dll!ImplHandleMouseMsg(HWND__ * hWnd, unsigned int nMsg, unsigned __int64 wParam, __int64 lParam) Line 3120
            at c:\lo\src\core\vcl\win\window\salframe.cxx(3120)
    vclplug_winlo.dll!SalFrameWndProc(HWND__ * hWnd, unsigned int nMsg, unsigned __int64 wParam, __int64 lParam, bool & rDef) Line 5475
            at c:\lo\src\core\vcl\win\window\salframe.cxx(5475)
    vclplug_winlo.dll!SalFrameWndProcW(HWND__ * hWnd, unsigned int nMsg, unsigned __int64 wParam, __int64 lParam) Line 5828
            at c:\lo\src\core\vcl\win\window\salframe.cxx(5828)
    user32.dll!UserCallWinProcCheckWow()
    user32.dll!CallWindowProcW()
    opengl32.dll!wglWndProc()
    user32.dll!UserCallWinProcCheckWow()
    user32.dll!DispatchMessageWorker()
    vclplug_winlo.dll!ImplSalDispatchMessage(const tagMSG * pMsg) Line 410
            at c:\lo\src\core\vcl\win\app\salinst.cxx(410)
    vclplug_winlo.dll!ImplSalYield(bool bWait, bool bHandleAllCurrentEvents) Line 483
            at c:\lo\src\core\vcl\win\app\salinst.cxx(483)
    vclplug_winlo.dll!WinSalInstance::DoYield(bool bWait, bool bHandleAllCurrentEvents) Line 512
            at c:\lo\src\core\vcl\win\app\salinst.cxx(512)
    vcllo.dll!ImplYield(bool i_bWait, bool i_bAllEvents) Line 441
            at c:\lo\src\core\vcl\source\app\svapp.cxx(441)
    vcllo.dll!Application::Yield() Line 506
            at c:\lo\src\core\vcl\source\app\svapp.cxx(506)
    vcllo.dll!Dialog::Execute() Line 1041
            at c:\lo\src\core\vcl\source\window\dialog.cxx(1041)
    cuilo.dll!OfaTreeOptionsDialog::Execute() Line 2040
            at c:\lo\src\core\cui\source\options\treeopt.cxx(2040)
    cuilo.dll!CuiVclAbstractDialog_Impl::Execute() Line 112
            at c:\lo\src\core\cui\source\factory\dlgfact.cxx(112)
    sfxlo.dll!SfxApplication::OfaExec_Impl(SfxRequest & rReq) Line 1361
            at c:\lo\src\core\sfx2\source\appl\appserv.cxx(1361)
    sfxlo.dll!SfxStubSfxApplicationOfaExec_Impl(SfxShell * pShell, SfxRequest & rReq) Line 1248
            at c:\lo\src\core\workdir\sditarget\sfx2\sdi\sfxslots.hxx(1248)
    sfxlo.dll!SfxShell::CallExec(void(*)(SfxShell *, SfxRequest &) pFunc, SfxRequest & rReq) Line 207
            at c:\lo\src\core\include\sfx2\shell.hxx(207)
    sfxlo.dll!SfxDispatcher::Call_Impl(SfxShell & rShell, const SfxSlot & rSlot, SfxRequest & rReq, bool bRecord) Line 356
            at c:\lo\src\core\sfx2\source\control\dispatch.cxx(356)
    sfxlo.dll!SfxDispatcher::Execute_(SfxShell & rShell, const SfxSlot & rSlot, SfxRequest & rReq, SfxCallMode eCallMode) Line 854
            at c:\lo\src\core\sfx2\source\control\dispatch.cxx(854)
    sfxlo.dll!SfxDispatcher::Execute(unsigned short nSlot, SfxCallMode nCall, const SfxItemSet * pArgs, const SfxItemSet * pInternalArgs, unsigned short nModi) Line 913
            at c:\lo\src\core\sfx2\source\control\dispatch.cxx(913)
    sfxlo.dll!SfxDispatchController_Impl::dispatch(const com::sun::star::util::URL & aURL, const com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> & aArgs, const com::sun::star::uno::Reference<com::sun::star::frame::XDispatchResultListener> & rListener) Line 774
            at c:\lo\src\core\sfx2\source\control\unoctitm.cxx(774)
    sfxlo.dll!SfxOfficeDispatch::dispatch(const com::sun::star::util::URL & aURL, const com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> & aArgs) Line 225
            at c:\lo\src\core\sfx2\source\control\unoctitm.cxx(225)
    fwklo.dll!framework::MenuBarManager::Select(Menu * pMenu) Line 896
            at c:\lo\src\core\framework\source\uielement\menubarmanager.cxx(896)
    fwklo.dll!framework::MenuBarManager::LinkStubSelect(void * instance, Menu * data) Line 832
            at c:\lo\src\core\framework\source\uielement\menubarmanager.cxx(832)
    vcllo.dll!Link<Menu *,bool>::Call(Menu * data) Line 84
            at c:\lo\src\core\include\tools\link.hxx(84)
    vcllo.dll!Menu::Select() Line 362
            at c:\lo\src\core\vcl\source\window\menu.cxx(362)
    vcllo.dll!Menu::ImplCallSelect(void * __formal) Line 2140
            at c:\lo\src\core\vcl\source\window\menu.cxx(2140)
    vcllo.dll!Menu::LinkStubImplCallSelect(void * instance, void * data) Line 2136
            at c:\lo\src\core\vcl\source\window\menu.cxx(2136)
    vcllo.dll!Link<void *,void>::Call(void * data) Line 84
            at c:\lo\src\core\include\tools\link.hxx(84)
    vcllo.dll!ImplHandleUserEvent(ImplSVEvent * pSVEvent) Line 1935
            at c:\lo\src\core\vcl\source\window\winproc.cxx(1935)
    vcllo.dll!ImplWindowFrameProc(vcl::Window * _pWindow, SalEvent nEvent, const void * pEvent) Line 2486
            at c:\lo\src\core\vcl\source\window\winproc.cxx(2486)
    vcllo.dll!SalFrame::CallCallback(SalEvent nEvent, const void * pEvent) Line 285
            at c:\lo\src\core\vcl\inc\salframe.hxx(285)
    vclplug_winlo.dll!ImplHandleUserEvent(HWND__ * hWnd, __int64 lParam) Line 4068
            at c:\lo\src\core\vcl\win\window\salframe.cxx(4068)
    vclplug_winlo.dll!SalFrameWndProc(HWND__ * hWnd, unsigned int nMsg, unsigned __int64 wParam, __int64 lParam, bool & rDef) Line 5721
            at c:\lo\src\core\vcl\win\window\salframe.cxx(5721)
    vclplug_winlo.dll!SalFrameWndProcW(HWND__ * hWnd, unsigned int nMsg, unsigned __int64 wParam, __int64 lParam) Line 5828
            at c:\lo\src\core\vcl\win\window\salframe.cxx(5828)
    user32.dll!UserCallWinProcCheckWow()
    user32.dll!CallWindowProcW()
    opengl32.dll!wglWndProc()
    user32.dll!UserCallWinProcCheckWow()
    user32.dll!DispatchMessageWorker()
    vclplug_winlo.dll!ImplSalDispatchMessage(const tagMSG * pMsg) Line 410
            at c:\lo\src\core\vcl\win\app\salinst.cxx(410)
    vclplug_winlo.dll!ImplSalYield(bool bWait, bool bHandleAllCurrentEvents) Line 441
            at c:\lo\src\core\vcl\win\app\salinst.cxx(441)
    vclplug_winlo.dll!WinSalInstance::DoYield(bool bWait, bool bHandleAllCurrentEvents) Line 512
            at c:\lo\src\core\vcl\win\app\salinst.cxx(512)
    vcllo.dll!ImplYield(bool i_bWait, bool i_bAllEvents) Line 441
            at c:\lo\src\core\vcl\source\app\svapp.cxx(441)
    vcllo.dll!Application::Yield() Line 506
            at c:\lo\src\core\vcl\source\app\svapp.cxx(506)
    vcllo.dll!Application::Execute() Line 422
            at c:\lo\src\core\vcl\source\app\svapp.cxx(422)
    sofficeapp.dll!desktop::Desktop::Main() Line 1619
            at c:\lo\src\core\desktop\source\app\app.cxx(1619)
    vcllo.dll!ImplSVMain() Line 199
            at c:\lo\src\core\vcl\source\app\svmain.cxx(199)
    vcllo.dll!SVMain() Line 234
            at c:\lo\src\core\vcl\source\app\svmain.cxx(234)
    sofficeapp.dll!soffice_main() Line 169
            at c:\lo\src\core\desktop\source\app\sofficemain.cxx(169)
    soffice.bin!sal_main() Line 48
            at c:\lo\src\core\desktop\source\app\main.c(48)
    soffice.bin!main(int argc, char * * argv) Line 47
            at c:\lo\src\core\desktop\source\app\main.c(47)
    soffice.bin!invoke_main() Line 79
            at d:\agent\_work\3\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl(79)
    soffice.bin!__scrt_common_main_seh() Line 288
            at d:\agent\_work\3\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl(288)
    soffice.bin!__scrt_common_main() Line 331
            at d:\agent\_work\3\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl(331)
    soffice.bin!mainCRTStartup() Line 17
            at d:\agent\_work\3\s\src\vctools\crt\vcstartup\src\startup\exe_main.cpp(17)
    kernel32.dll!BaseThreadInitThunk()
    ntdll.dll!RtlUserThreadStart()
    
    Change-Id: I0518c48e48a50b99a2a1eaf17335e116d63bc587
    Reviewed-on: https://gerrit.libreoffice.org/65007
    Reviewed-by: Mike Kaganski <mike.kaganski at collabora.com>
    Tested-by: Mike Kaganski <mike.kaganski at collabora.com>
    (cherry picked from commit 12edea426a31f57a9d5b1c65b34fb1336c5534e9)
    Reviewed-on: https://gerrit.libreoffice.org/65098
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/svtools/source/dialogs/restartdialog.cxx b/svtools/source/dialogs/restartdialog.cxx
index 122f314eccd8..8a93e05c1db7 100644
--- a/svtools/source/dialogs/restartdialog.cxx
+++ b/svtools/source/dialogs/restartdialog.cxx
@@ -94,9 +94,12 @@ void svtools::executeRestartDialog(
     css::uno::Reference< css::uno::XComponentContext > const & context,
     weld::Window* parent, RestartReason reason)
 {
+    auto xRestartManager = css::task::OfficeRestartManager::get(context);
+    if (xRestartManager->isRestartRequested(false))
+        return; // don't try to show another dialog when restart is already in progress
     RestartDialog aDlg(parent, reason);
     if (aDlg.run()) {
-        css::task::OfficeRestartManager::get(context)->requestRestart(
+        xRestartManager->requestRestart(
             css::uno::Reference< css::task::XInteractionHandler >());
     }
 }
commit dbc180888624805ec3df4b7787ff107c425eab21
Author:     László Németh <nemeth at numbertext.org>
AuthorDate: Tue Nov 20 09:44:43 2018 +0100
Commit:     László Németh <nemeth at numbertext.org>
CommitDate: Fri Dec 21 12:13:27 2018 +0100

    tdf#115319 fix Hungarian article before letter i
    
    in words, for example “az Ipsum”, not “a Ipsum”.
    
    This bug was reported by Gellért Gyuris.
    
    Complete commit 1037e3759bf178b52d16c12a811717f94ab9950a
    (tdf#115319 references with Hungarian articles)
    
    Change-Id: If930feb11a0308246d2512f0093bcacdc8675d0b
    Reviewed-on: https://gerrit.libreoffice.org/63637
    Tested-by: Jenkins
    Reviewed-by: László Németh <nemeth at numbertext.org>
    (cherry picked from commit 542d17d9384cced62db6bcfa45a5f44316409edc)
    Reviewed-on: https://gerrit.libreoffice.org/63669

diff --git a/sw/qa/extras/odfexport/data/referencelanguage.odt b/sw/qa/extras/odfexport/data/referencelanguage.odt
index dcdd626fe3cf..9614bb3e31bc 100644
Binary files a/sw/qa/extras/odfexport/data/referencelanguage.odt and b/sw/qa/extras/odfexport/data/referencelanguage.odt differ
diff --git a/sw/qa/extras/odfexport/odfexport.cxx b/sw/qa/extras/odfexport/odfexport.cxx
index 01327898daa0..9245c3c16716 100644
--- a/sw/qa/extras/odfexport/odfexport.cxx
+++ b/sw/qa/extras/odfexport/odfexport.cxx
@@ -1957,7 +1957,7 @@ DECLARE_ODFEXPORT_TEST(testReferenceLanguage, "referencelanguage.odt")
 {
     // Test loext:reference-language attribute of reference fields
     // (used from LibreOffice 6.1, and proposed for next ODF)
-    const char* aFieldTexts[] = { "A 2", "Az 50-esek",
+    const char* aFieldTexts[] = { "A 2", "Az Isten", "Az 50-esek",
         "A 2018-asok", "Az egyebek", "A fejezetek",
         u8"Az „Őseinket...”", "a 2",
         "Az v", "az 1", "Az e", "az 1",
diff --git a/sw/source/core/fields/reffld.cxx b/sw/source/core/fields/reffld.cxx
index 9f6ec1998185..47bb1b0a615b 100644
--- a/sw/source/core/fields/reffld.cxx
+++ b/sw/source/core/fields/reffld.cxx
@@ -286,7 +286,7 @@ static void lcl_formatReferenceLanguage( OUString& rRefText,
             0x00E1, 0x00C1, 0x00E9, 0x00C9, 0x00ED, 0x00CD,
             0x00F3, 0x00D3, 0x00F6, 0x00D6, 0x0151, 0x0150,
             0x00FA, 0x00DA, 0x00FC, 0x00DC, 0x0171, 0x0170, 0 };
-        static OUString sVowels = "aAeEoOuU" + OUString(sVowelsWithDiacritic);
+        static OUString sVowels = "aAeEiIoOuU" + OUString(sVowelsWithDiacritic);
 
         // handle more than 1-letter long Roman numbers and
         // their possible combinations with letters:
commit 027e592758421287463b1a3bf64cb32d3ef96601
Author:     Mike Kaganski <mike.kaganski at collabora.com>
AuthorDate: Tue Dec 18 09:19:06 2018 +0300
Commit:     Caolán McNamara <caolanm at redhat.com>
CommitDate: Fri Dec 21 09:59:53 2018 +0100

    tdf#116496: don't add header when setting empty watermark
    
    Regression from commit 22e94ab1860b1bdea8d107d4e8824f63c6b1c8c5
    
    Change-Id: I66a6e0b5069fe459b887a52f1ea26904dfc2d37b
    Reviewed-on: https://gerrit.libreoffice.org/65303
    Reviewed-by: Mike Kaganski <mike.kaganski at collabora.com>
    Tested-by: Mike Kaganski <mike.kaganski at collabora.com>
    (cherry picked from commit c4f3bd7c94cacb52f7a791a0d364818cee6080b6)
    Reviewed-on: https://gerrit.libreoffice.org/65416
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/sw/source/core/edit/edfcol.cxx b/sw/source/core/edit/edfcol.cxx
index 6486de18a102..ee76998aac75 100644
--- a/sw/source/core/edit/edfcol.cxx
+++ b/sw/source/core/edit/edfcol.cxx
@@ -1600,6 +1600,7 @@ void SwEditShell::SetWatermark(const SfxWatermarkItem& rWatermark)
     SwDocShell* pDocShell = GetDoc()->GetDocShell();
     if (!pDocShell)
         return;
+    const bool bNoWatermark = rWatermark.GetText().isEmpty();
 
     uno::Reference<frame::XModel> xModel = pDocShell->GetBaseModel();
     uno::Reference<style::XStyleFamiliesSupplier> xStyleFamiliesSupplier(xModel, uno::UNO_QUERY);
@@ -1615,7 +1616,12 @@ void SwEditShell::SetWatermark(const SfxWatermarkItem& rWatermark)
         bool bHeaderIsOn = false;
         xPageStyle->getPropertyValue(UNO_NAME_HEADER_IS_ON) >>= bHeaderIsOn;
         if (!bHeaderIsOn)
+        {
+            if (bNoWatermark)
+                continue; // the style doesn't have any watermark - no need to do anything
+
             xPageStyle->setPropertyValue(UNO_NAME_HEADER_IS_ON, uno::makeAny(true));
+        }
 
         // backup header height
         bool bDynamicHeight = true;
commit 72f2fbc75dc254ea8e13527b592bd0b4fb946bab
Author:     Mike Kaganski <mike.kaganski at collabora.com>
AuthorDate: Mon Dec 17 00:23:24 2018 +0300
Commit:     Caolán McNamara <caolanm at redhat.com>
CommitDate: Thu Dec 20 14:10:11 2018 +0100

    tdf#122134: use CurrentMajorVersionNumber to filter out Windows 10
    
    On Windows 8.1, the one that is problematic to tell from Windows 10
    (because the latter also exposes its version as 603 to the msiexec),
    the registry value doesn't exist at
    HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion
    but let's play safe and also check for "#6" value just in case.
    
    Reference:
    https://stackoverflow.com/questions/31072543/reliable-way-to-get-windows-version-from-registry
    
    Thanks to Mitchell <blazer64 at gmail.com> for the idea!
    
    Change-Id: Ic907c4d992a7cb1d12e392686c19cd6fd6da3c7c
    Reviewed-on: https://gerrit.libreoffice.org/65231
    Reviewed-by: Mike Kaganski <mike.kaganski at collabora.com>
    Tested-by: Mike Kaganski <mike.kaganski at collabora.com>
    (cherry picked from commit d87fa557ff58c3b9f5c9079a1d7595e095694111)
    Reviewed-on: https://gerrit.libreoffice.org/65242
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/instsetoo_native/inc_openoffice/windows/msi_templates/AppSearc.idt b/instsetoo_native/inc_openoffice/windows/msi_templates/AppSearc.idt
index 46ceccc26c60..cb0ca0c1ccbb 100644
--- a/instsetoo_native/inc_openoffice/windows/msi_templates/AppSearc.idt
+++ b/instsetoo_native/inc_openoffice/windows/msi_templates/AppSearc.idt
@@ -6,3 +6,4 @@ INSTALLLOCATION	installuser_
 INSTALLLOCATION	installmachine
 INSTALLLOCATION	installmachine_
 WIN81S14	win81s14
+WINMAJORVER	WinMajorVer
diff --git a/instsetoo_native/inc_openoffice/windows/msi_templates/Property.idt b/instsetoo_native/inc_openoffice/windows/msi_templates/Property.idt
index 1a7074acb7f8..b9b53a02e3ac 100644
--- a/instsetoo_native/inc_openoffice/windows/msi_templates/Property.idt
+++ b/instsetoo_native/inc_openoffice/windows/msi_templates/Property.idt
@@ -43,7 +43,7 @@ ProgressType3	installs
 Quickstarterlinkname	QUICKSTARTERLINKNAMETEMPLATE
 RebootYesNo	Yes
 ReinstallModeText	omus
-SecureCustomProperties	NEWPRODUCTS;OLDPRODUCTS;WIN81S14
+SecureCustomProperties	NEWPRODUCTS;OLDPRODUCTS;WIN81S14;WINMAJORVER
 SetupType	Typical
 SELECT_WORD	0
 SELECT_EXCEL	0
diff --git a/instsetoo_native/inc_openoffice/windows/msi_templates/RegLocat.idt b/instsetoo_native/inc_openoffice/windows/msi_templates/RegLocat.idt
index c082322086ad..7788815d3a6e 100644
--- a/instsetoo_native/inc_openoffice/windows/msi_templates/RegLocat.idt
+++ b/instsetoo_native/inc_openoffice/windows/msi_templates/RegLocat.idt
@@ -5,3 +5,4 @@ installuser	1	Software\LibreOffice\Layers\[DEFINEDPRODUCT]\[BRANDPACKAGEVERSION]
 installuser_	1	Software\LibreOffice\Layers_\[DEFINEDPRODUCT]\[BRANDPACKAGEVERSION]	INSTALLLOCATION	2
 installmachine	2	Software\LibreOffice\Layers\[DEFINEDPRODUCT]\[BRANDPACKAGEVERSION]	INSTALLLOCATION	2
 installmachine_	2	Software\LibreOffice\Layers_\[DEFINEDPRODUCT]\[BRANDPACKAGEVERSION]	INSTALLLOCATION	2
+WinMajorVer	2	Software\Microsoft\Windows NT\CurrentVersion	CurrentMajorVersionNumber	2
diff --git a/scp2/source/ooo/ucrt.scp b/scp2/source/ooo/ucrt.scp
index ae2eb27a4dbe..a2d6965e2ecb 100644
--- a/scp2/source/ooo/ucrt.scp
+++ b/scp2/source/ooo/ucrt.scp
@@ -111,7 +111,7 @@ WindowsCustomAction gid_Customaction_check_win81x64_ucrt
 	Source = "InstMSUBinary";
 	Target = "Windows81-KB2999226-x64msu";
 	Inbinarytable = 0;
-	Assignment1 = ("InstallExecuteSequence", "Not Installed And VersionNT = 603 And VersionNT64", "check_win8x64_ucrt");
+	Assignment1 = ("InstallExecuteSequence", "Not Installed And VersionNT = 603 And (Not WINMAJORVER Or WINMAJORVER = \"#6\") And VersionNT64", "check_win8x64_ucrt");
 	Styles = "NO_FILE";
 End
 
@@ -147,7 +147,7 @@ WindowsCustomAction gid_Customaction_check_win81x32_ucrt
 	Source = "InstMSUBinary";
 	Target = "Windows81-KB2999226-x86msu";
 	Inbinarytable = 0;
-	Assignment1 = ("InstallExecuteSequence", "Not Installed And VersionNT = 603 And Not VersionNT64", "check_win8x32_ucrt");
+	Assignment1 = ("InstallExecuteSequence", "Not Installed And VersionNT = 603 And (Not WINMAJORVER Or WINMAJORVER = \"#6\") And Not VersionNT64", "check_win8x32_ucrt");
 	Styles = "NO_FILE";
 End
 
commit c72ddb5e185d33e17762bc96207b86948950e173
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Wed Dec 19 16:23:06 2018 +0000
Commit:     Caolán McNamara <caolanm at redhat.com>
CommitDate: Thu Dec 20 12:10:29 2018 +0100

    Resolves: tdf#121555 sometime crash on menu hierarchy change
    
    seems menubar gets set to dirty due to some menu activity that needs
    a refresh, but then the hierarchy changes and as its already dirty
    the maUpdateMenuBarIdle doesn't get launched
    
    the placement of the mbMenuBar test inside the loop through parents
    shows some confusion as to what which mbMenuBar might be met, the
    one belonging to this, or that of the parent being traversed, but
    it does seem to be the one belonging to this.
    
    Change-Id: I0b9dceadf64f7adf18eb1aa2dbda9bbfbcb66e0a
    Reviewed-on: https://gerrit.libreoffice.org/65465
    Tested-by: Jenkins
    Tested-by: Xisco Faulí <xiscofauli at libreoffice.org>
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/vcl/unx/gtk/gtksalmenu.cxx b/vcl/unx/gtk/gtksalmenu.cxx
index 8fd2ea29636a..c946ae0d32d4 100644
--- a/vcl/unx/gtk/gtksalmenu.cxx
+++ b/vcl/unx/gtk/gtksalmenu.cxx
@@ -226,8 +226,12 @@ void GtkSalMenu::ImplUpdate(bool bRecurse, bool bRemoveDisabledEntries)
     if (mbNeedsUpdate)
     {
         mbNeedsUpdate = false;
-        if (mbMenuBar)
+        if (mbMenuBar && maUpdateMenuBarIdle.IsActive())
+        {
             maUpdateMenuBarIdle.Stop();
+            maUpdateMenuBarIdle.Invoke();
+            return;
+        }
     }
 
     Menu* pVCLMenu = mpVCLMenu;
@@ -520,13 +524,17 @@ IMPL_LINK_NOARG(GtkSalMenu, MenuBarHierarchyChangeHandler, Timer *, void)
 void GtkSalMenu::SetNeedsUpdate()
 {
     GtkSalMenu* pMenu = this;
+    // start that the menu and its parents are in need of an update
+    // on the next activation
     while (pMenu && !pMenu->mbNeedsUpdate)
     {
         pMenu->mbNeedsUpdate = true;
-        if (mbMenuBar)
-            maUpdateMenuBarIdle.Start();
         pMenu = pMenu->mpParentSalMenu;
     }
+    // only if a menubar is directly updated do we force in a full
+    // structure update
+    if (mbMenuBar && !maUpdateMenuBarIdle.IsActive())
+        maUpdateMenuBarIdle.Start();
 }
 
 void GtkSalMenu::SetMenuModel(GMenuModel* pMenuModel)
commit 9396cf7edb101983c56f44ae814029ce78f0fc71
Author:     Mike Kaganski <mike.kaganski at collabora.com>
AuthorDate: Tue Dec 4 21:28:46 2018 +0300
Commit:     Eike Rathke <erack at redhat.com>
CommitDate: Thu Dec 20 01:01:48 2018 +0100

    tdf#117332: select replaced text to properly replace it next time
    
    ... othervise the next drag event will insert the new range immediately
    after the just inserted, resulting in invalid reference.
    
    Regression after commit 42aece949ec96c775b31216bddd723aa5321e966
    
      don't replace content of formula field when selecting range, tdf#58635
    
    Change-Id: I7dfdc1ce041ebadf4406dbb605676d87cd489efa
    Reviewed-on: https://gerrit.libreoffice.org/64574
    Reviewed-by: Mike Kaganski <mike.kaganski at collabora.com>
    Tested-by: Mike Kaganski <mike.kaganski at collabora.com>
    (cherry picked from commit 6c5839d399c6277a7f2f0e214a20996761563525)
    Reviewed-on: https://gerrit.libreoffice.org/65027
    Tested-by: Jenkins
    Reviewed-by: Eike Rathke <erack at redhat.com>

diff --git a/sc/source/ui/condformat/condformatdlg.cxx b/sc/source/ui/condformat/condformatdlg.cxx
index 7776ea958f86..1df88cf003cc 100644
--- a/sc/source/ui/condformat/condformatdlg.cxx
+++ b/sc/source/ui/condformat/condformatdlg.cxx
@@ -655,7 +655,13 @@ void ScCondFormatDlg::SetReference(const ScRange& rRef, ScDocument*)
         OUString aRefStr(rRef.Format(nFlags, mpViewData->GetDocument(),
             ScAddress::Details(mpViewData->GetDocument()->GetAddressConvention(), 0, 0)));
         if (pEdit != mpEdRange)
+        {
+            Selection sel = pEdit->GetSelection();
+            sel.Justify();            // in case of RtL selection
+            sel.Max() = sel.Min() + aRefStr.getLength();
             pEdit->ReplaceSelected(aRefStr);
+            pEdit->SetSelection(sel); // to replace it again with next drag event
+        }
         else
             pEdit->SetRefString( aRefStr );
         updateTitle();
commit 73cc724dc35551ea349b3da0c4ecd6cba2fdd0ae
Author:     Miklos Vajna <vmiklos at collabora.com>
AuthorDate: Tue Nov 13 18:00:50 2018 +0100
Commit:     Caolán McNamara <caolanm at redhat.com>
CommitDate: Wed Dec 19 22:09:44 2018 +0100

    Related: tdf#117761 oox smartart: backport fixes related to process types
    
    This is a combination of 9 commits.
    
    This is the 1st commit:
    
    oox smartart, accent process: add support for reading values from constraints
    
    (cherry picked from commit b389aafee9cfba9dc4dfa552347be39ff9fe41b2)
    
    This is the commit #2:
    
    oox smartart, accent process: add support for zorder offsets
    
    (cherry picked from commit cd348a6244a092c251a8e1362cd78de562d7bef6)
    
    This is the commit #3:
    
    oox smartart, accent process: fix overlapping shape pairs
    
    (cherry picked from commit 67e062aa5e5946d4985921fe2b6f87766f363ddc)
    
    This is the commit #4:
    
    oox smartart, accent process: handle multiple runs from a data point
    
    (cherry picked from commit cfa76f538a44d4396574ece59e8a3953c22c6eb7)
    
    This is the commit #5:
    
    oox smartart, accent process: handle followSib axis of forEach
    
    (cherry picked from commit aedc5427e4b6645ff3257e523c33190cf5e1934d)
    
    This is the commit #6:
    
    oox smartart, accent process: handle connector shape between pairs
    
    (cherry picked from commit 7f66a340933339974b5c6d70af4ae3c17e4f001a)
    
    This is the commit #7:
    
    oox smartart, accent process: adjust size of connector from constraints
    
    (cherry picked from commit ddc2786831367577967e806d603f337a2e42806a)
    
    This is the commit #8:
    
    oox smartart, continuous block process: read space width from constraint
    
    (cherry picked from commit ee6787fc5597b7f730c4ee3a1f2a1b261d0a5644)
    
    Conflicts:
            oox/source/drawingml/diagram/diagramlayoutatoms.cxx
    
    This is the commit #9:
    
    oox smartart, accent process: fix missing bullets and large para indent
    
    (cherry picked from commit 6277a767f33bb5327408dafff2fed199087e938d)
    
    Change-Id: I60bbee75f3e834551ebb1963a2f42101f3bd91d4
    Reviewed-on: https://gerrit.libreoffice.org/65352
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/include/oox/drawingml/shape.hxx b/include/oox/drawingml/shape.hxx
index 6028a11c2bc0..e04a58beb4a6 100644
--- a/include/oox/drawingml/shape.hxx
+++ b/include/oox/drawingml/shape.hxx
@@ -214,6 +214,14 @@ public:
     const LinkedTxbxAttr&     getLinkedTxbxAttributes() { return maLinkedTxbxAttr; };
     bool                isLinkedTxbx() { return mbHasLinkedTxbx; };
 
+    void setZOrder(sal_Int32 nZOrder) { mnZOrder = nZOrder; }
+
+    sal_Int32 getZOrder() const { return mnZOrder; }
+
+    void setZOrderOff(sal_Int32 nZOrderOff) { mnZOrderOff = nZOrderOff; }
+
+    sal_Int32 getZOrderOff() const { return mnZOrderOff; }
+
 protected:
 
     css::uno::Reference< css::drawing::XShape > const &
@@ -327,6 +335,12 @@ private:
     bool                            mbHasLinkedTxbx; // this text box has linked text box ?
 
     css::uno::Sequence<css::beans::PropertyValue> maDiagramDoms;
+
+    /// Z-Order.
+    sal_Int32 mnZOrder = 0;
+
+    /// Z-Order offset.
+    sal_Int32 mnZOrderOff = 0;
 };
 
 } }
diff --git a/oox/source/drawingml/diagram/diagramlayoutatoms.cxx b/oox/source/drawingml/diagram/diagramlayoutatoms.cxx
index c1aaf6e07025..502470933e8f 100644
--- a/oox/source/drawingml/diagram/diagramlayoutatoms.cxx
+++ b/oox/source/drawingml/diagram/diagramlayoutatoms.cxx
@@ -54,6 +54,50 @@ oox::OptValue<sal_Int32> findProperty(const oox::drawingml::LayoutPropertyMap& r
 
     return oRet;
 }
+
+/**
+ * Determines if nUnit is a font unit (measured in points) or not (measured in
+ * millimeters).
+ */
+bool isFontUnit(sal_Int32 nUnit)
+{
+    return nUnit == oox::XML_primFontSz || nUnit == oox::XML_secFontSz;
+}
+
+/// Determines the connector shape type from a linear alg.
+sal_Int32 getConnectorType(const oox::drawingml::LayoutNode* pNode)
+{
+    sal_Int32 nType = oox::XML_rightArrow;
+
+    if (!pNode)
+        return nType;
+
+    for (const auto& pChild : pNode->getChildren())
+    {
+        auto pAlgAtom = dynamic_cast<oox::drawingml::AlgAtom*>(pChild.get());
+        if (!pAlgAtom)
+            continue;
+
+        if (pAlgAtom->getType() != oox::XML_lin)
+            continue;
+
+        sal_Int32 nDir = oox::XML_fromL;
+        if (pAlgAtom->getMap().count(oox::XML_linDir))
+            nDir = pAlgAtom->getMap().find(oox::XML_linDir)->second;
+
+        switch (nDir)
+        {
+            case oox::XML_fromL:
+                nType = oox::XML_rightArrow;
+                break;
+            case oox::XML_fromR:
+                nType = oox::XML_leftArrow;
+                break;
+        }
+    }
+
+    return nType;
+}
 }
 
 namespace oox { namespace drawingml {
@@ -269,13 +313,15 @@ void ConstraintAtom::accept( LayoutAtomVisitor& rVisitor )
     rVisitor.visit(*this);
 }
 
-void ConstraintAtom::parseConstraint(std::vector<Constraint>& rConstraints) const
+void ConstraintAtom::parseConstraint(std::vector<Constraint>& rConstraints,
+                                     bool bRequireForName) const
 {
+    if (bRequireForName && maConstraint.msForName.isEmpty())
+        return;
+
     // accepting only basic equality constraints
-    if (!maConstraint.msForName.isEmpty() &&
-        (maConstraint.mnOperator == XML_none || maConstraint.mnOperator == XML_equ) &&
-        maConstraint.mnType != XML_none &&
-        maConstraint.mfValue == 0)
+    if ((maConstraint.mnOperator == XML_none || maConstraint.mnOperator == XML_equ)
+        && maConstraint.mnType != XML_none)
     {
         rConstraints.push_back(maConstraint);
     }
@@ -290,7 +336,7 @@ void AlgAtom::layoutShape( const ShapePtr& rShape,
                            const std::vector<Constraint>& rOwnConstraints ) const
 {
     // Algorithm result may depend on the parent constraints as well.
-    std::vector<Constraint> aParentConstraints;
+    std::vector<Constraint> aMergedConstraints;
     const LayoutNode* pParent = getLayoutNode().getParentLayoutNode();
     if (pParent)
     {
@@ -298,10 +344,12 @@ void AlgAtom::layoutShape( const ShapePtr& rShape,
         {
             auto pConstraintAtom = dynamic_cast<ConstraintAtom*>(pChild.get());
             if (pConstraintAtom)
-                pConstraintAtom->parseConstraint(aParentConstraints);
+                pConstraintAtom->parseConstraint(aMergedConstraints, /*bRequireForName=*/true);
         }
     }
-    const std::vector<Constraint>& rConstraints = rOwnConstraints.empty() ? aParentConstraints : rOwnConstraints;
+    aMergedConstraints.insert(aMergedConstraints.end(), rOwnConstraints.begin(),
+                              rOwnConstraints.end());
+    const std::vector<Constraint>& rConstraints = aMergedConstraints;
 
     switch(mnType)
     {
@@ -327,7 +375,19 @@ void AlgAtom::layoutShape( const ShapePtr& rShape,
                     if (aRefType != aRef->second.end())
                         aProperties[rConstr.msForName][rConstr.mnType] = aRefType->second * rConstr.mfFactor;
                     else
-                        aProperties[rConstr.msForName][rConstr.mnType] = 0; // TODO: val
+                    {
+                        // Values are never in EMU, while oox::drawingml::Shape
+                        // position and size are always in EMU.
+                        double fUnitFactor = 0;
+                        if (isFontUnit(rConstr.mnRefType))
+                            // Points -> EMU.
+                            fUnitFactor = EMU_PER_PT;
+                        else
+                            // Millimeters -> EMU.
+                            fUnitFactor = EMU_PER_HMM * 100;
+                        aProperties[rConstr.msForName][rConstr.mnType]
+                            = rConstr.mfValue * fUnitFactor;
+                    }
                 }
             }
 
@@ -376,7 +436,54 @@ void AlgAtom::layoutShape( const ShapePtr& rShape,
         }
 
         case XML_conn:
+        {
+            if (rShape->getSubType() == XML_conn)
+            {
+                // There is no shape type "conn", replace it by an arrow based
+                // on the direction of the parent linear layout.
+                sal_Int32 nType = getConnectorType(pParent);
+
+                rShape->setSubType(nType);
+                rShape->getCustomShapeProperties()->setShapePresetType(nType);
+            }
+
+            // Parse constraints to adjust the size.
+            std::vector<Constraint> aDirectConstraints;
+            const LayoutNode& rLayoutNode = getLayoutNode();
+            for (const auto& pChild : rLayoutNode.getChildren())
+            {
+                auto pConstraintAtom = dynamic_cast<ConstraintAtom*>(pChild.get());
+                if (pConstraintAtom)
+                    pConstraintAtom->parseConstraint(aDirectConstraints, /*bRequireForName=*/false);
+            }
+
+            LayoutPropertyMap aProperties;
+            LayoutProperty& rParent = aProperties[""];
+            rParent[XML_w] = rShape->getSize().Width;
+            rParent[XML_h] = rShape->getSize().Height;
+            rParent[XML_l] = 0;
+            rParent[XML_t] = 0;
+            rParent[XML_r] = rShape->getSize().Width;
+            rParent[XML_b] = rShape->getSize().Height;
+            for (const auto& rConstr : aDirectConstraints)
+            {
+                const LayoutPropertyMap::const_iterator aRef
+                    = aProperties.find(rConstr.msRefForName);
+                if (aRef != aProperties.end())
+                {
+                    const LayoutProperty::const_iterator aRefType
+                        = aRef->second.find(rConstr.mnRefType);
+                    if (aRefType != aRef->second.end())
+                        aProperties[rConstr.msForName][rConstr.mnType]
+                            = aRefType->second * rConstr.mfFactor;
+                }
+            }
+            awt::Size aSize;
+            aSize.Width = rParent[XML_w];
+            aSize.Height = rParent[XML_h];
+            rShape->setSize(aSize);
             break;
+        }
 
         case XML_cycle:
         {
@@ -428,22 +535,9 @@ void AlgAtom::layoutShape( const ShapePtr& rShape,
             const sal_Int32 nIncX = nDir==XML_fromL ? 1 : (nDir==XML_fromR ? -1 : 0);
             const sal_Int32 nIncY = nDir==XML_fromT ? 1 : (nDir==XML_fromB ? -1 : 0);
 
-            // TODO: get values from constraints
             sal_Int32 nCount = rShape->getChildren().size();
             double fSpace = 0.3;
 
-            awt::Size aChildSize = rShape->getSize();
-            if (nDir == XML_fromL || nDir == XML_fromR)
-                aChildSize.Width /= (nCount + (nCount-1)*fSpace);
-            else if (nDir == XML_fromT || nDir == XML_fromB)
-                aChildSize.Height /= (nCount + (nCount-1)*fSpace);
-
-            awt::Point aCurrPos(0, 0);
-            if (nIncX == -1)
-                aCurrPos.X = rShape->getSize().Width - aChildSize.Width;
-            if (nIncY == -1)
-                aCurrPos.Y = rShape->getSize().Height - aChildSize.Height;
-
             // Find out which contraint is relevant for which (internal) name.
             LayoutPropertyMap aProperties;
             for (const auto& rConstraint : rConstraints)
@@ -454,8 +548,24 @@ void AlgAtom::layoutShape( const ShapePtr& rShape,
                 LayoutProperty& rProperty = aProperties[rConstraint.msForName];
                 if (rConstraint.mnType == XML_w)
                     rProperty[XML_w] = rShape->getSize().Width * rConstraint.mfFactor;
+
+                // TODO: get values from differently named constraints as well
+                if (rConstraint.msForName == "sibTrans" && rConstraint.mnType == XML_w)
+                    fSpace = rConstraint.mfFactor;
             }
 
+            awt::Size aChildSize = rShape->getSize();
+            if (nDir == XML_fromL || nDir == XML_fromR)
+                aChildSize.Width /= (nCount + (nCount-1)*fSpace);
+            else if (nDir == XML_fromT || nDir == XML_fromB)
+                aChildSize.Height /= (nCount + (nCount-1)*fSpace);
+
+            awt::Point aCurrPos(0, 0);
+            if (nIncX == -1)
+                aCurrPos.X = rShape->getSize().Width - aChildSize.Width;
+            if (nIncY == -1)
+                aCurrPos.Y = rShape->getSize().Height - aChildSize.Height;
+
             // See if children requested more than 100% space in total: scale
             // down in that case.
             sal_Int32 nTotalWidth = 0;
@@ -500,7 +610,7 @@ void AlgAtom::layoutShape( const ShapePtr& rShape,
                 aSize.Width *= fWidthScale;
                 aCurrShape->setSize(aSize);
 
-                aCurrShape->setChildSize(aChildSize);
+                aCurrShape->setChildSize(aSize);
                 aCurrPos.X += nIncX * (aSize.Width + fSpace*aSize.Width);
                 aCurrPos.Y += nIncY * (aChildSize.Height + fSpace*aChildSize.Height);
             }
@@ -711,13 +821,27 @@ void AlgAtom::layoutShape( const ShapePtr& rShape,
             }
 
             ParamMap::const_iterator aBulletLvl = maMap.find(XML_stBulletLvl);
+            int nStartBulletsAtLevel = 0;
             if (aBulletLvl != maMap.end())
+            {
                 nBaseLevel -= aBulletLvl->second;
+                nStartBulletsAtLevel = aBulletLvl->second;
+            }
 
             for (auto & aParagraph : pTextBody->getParagraphs())
             {
                 sal_Int32 nLevel = aParagraph->getProperties().getLevel();
                 aParagraph->getProperties().setLevel(nLevel - nBaseLevel);
+                if (nStartBulletsAtLevel > 0 && nLevel >= nStartBulletsAtLevel)
+                {
+                    // It is not possible to change the bullet style for text.
+                    sal_Int32 nLeftMargin = 285750 * (nLevel - nStartBulletsAtLevel) / EMU_PER_HMM;
+                    aParagraph->getProperties().getParaLeftMargin() = nLeftMargin;
+                    aParagraph->getProperties().getFirstLineIndentation() = -285750 / EMU_PER_HMM;
+                    OUString aBulletChar = OUString::fromUtf8(u8"•");
+                    aParagraph->getProperties().getBulletList().setBulletChar(aBulletChar);
+                    aParagraph->getProperties().getBulletList().setSuffixNone();
+                }
             }
 
             // explicit alignment
@@ -821,8 +945,10 @@ bool LayoutNode::setupShape( const ShapePtr& rShape, const dgm::Point* pPresNode
                 if( aVecIter->second != -1 )
                     rPara.getProperties().setLevel(aVecIter->second);
 
-                rPara.addRun(
-                    aDataNode2->second->mpShape->getTextBody()->getParagraphs().front()->getRuns().front());
+                std::shared_ptr<TextParagraph> pSourceParagraph
+                    = aDataNode2->second->mpShape->getTextBody()->getParagraphs().front();
+                for (const auto& pRun : pSourceParagraph->getRuns())
+                    rPara.addRun(pRun);
                 rPara.getProperties().apply(
                     aDataNode2->second->mpShape->getTextBody()->getParagraphs().front()->getProperties());
             }
diff --git a/oox/source/drawingml/diagram/diagramlayoutatoms.hxx b/oox/source/drawingml/diagram/diagramlayoutatoms.hxx
index 3d4d9c05aae2..500495b6f2ca 100644
--- a/oox/source/drawingml/diagram/diagramlayoutatoms.hxx
+++ b/oox/source/drawingml/diagram/diagramlayoutatoms.hxx
@@ -141,7 +141,7 @@ public:
     virtual void accept( LayoutAtomVisitor& ) override;
     Constraint& getConstraint()
         { return maConstraint; }
-    void parseConstraint(std::vector<Constraint>& rConstraints) const;
+    void parseConstraint(std::vector<Constraint>& rConstraints, bool bRequireForName) const;
 private:
     Constraint maConstraint;
 };
@@ -162,6 +162,13 @@ public:
         { maMap[nType]=nVal; }
     void layoutShape( const ShapePtr& rShape,
                       const std::vector<Constraint>& rConstraints ) const;
+
+    /// Gives access to <dgm:alg type="..."/>.
+    sal_Int32 getType() const { return mnType; }
+
+    /// Gives access to <dgm:param type="..." val="..."/>.
+    const ParamMap& getMap() const { return maMap; }
+
 private:
     sal_Int32 mnType;
     ParamMap  maMap;
diff --git a/oox/source/drawingml/diagram/layoutatomvisitors.cxx b/oox/source/drawingml/diagram/layoutatomvisitors.cxx
index ce8e6ab72b9e..49a664c1e821 100644
--- a/oox/source/drawingml/diagram/layoutatomvisitors.cxx
+++ b/oox/source/drawingml/diagram/layoutatomvisitors.cxx
@@ -46,6 +46,14 @@ void ShapeCreationVisitor::visit(AlgAtom& rAtom)
 
 void ShapeCreationVisitor::visit(ForEachAtom& rAtom)
 {
+    if (rAtom.iterator().mnAxis == XML_followSib)
+    {
+        // If the axis is the follow sibling, then the last atom should not be
+        // visited.
+        if (mnCurrIdx + mnCurrStep >= mnCurrCnt)
+            return;
+    }
+
     const std::vector<LayoutAtomPtr>& rChildren=rAtom.getChildren();
 
     sal_Int32 nChildren=1;
@@ -65,7 +73,11 @@ void ShapeCreationVisitor::visit(ForEachAtom& rAtom)
         rAtom.iterator().mnCnt==-1 ? nChildren : rAtom.iterator().mnCnt);
 
     const sal_Int32 nOldIdx=mnCurrIdx;
+    const sal_Int32 nOldStep = mnCurrStep;
+    const sal_Int32 nOldCnt = mnCurrCnt;
     const sal_Int32 nStep=rAtom.iterator().mnStep;
+    mnCurrStep = nStep;
+    mnCurrCnt = nCnt;
     for( mnCurrIdx=0; mnCurrIdx<nCnt && nStep>0; mnCurrIdx+=nStep )
     {
         // TODO there is likely some conditions
@@ -75,6 +87,8 @@ void ShapeCreationVisitor::visit(ForEachAtom& rAtom)
 
     // and restore idx
     mnCurrIdx = nOldIdx;
+    mnCurrStep = nOldStep;
+    mnCurrCnt = nOldCnt;
 }
 
 void ShapeCreationVisitor::visit(ConditionAtom& rAtom)
@@ -166,6 +180,38 @@ void ShapeCreationVisitor::visit(LayoutNode& rAtom)
         std::remove_if(pCurrParent->getChildren().begin(), pCurrParent->getChildren().end(),
             [] (const ShapePtr & aChild) { return aChild->getServiceName() == "com.sun.star.drawing.GroupShape" && aChild->getChildren().empty(); }),
         pCurrParent->getChildren().end());
+
+    // Offset the children from their default z-order stacking, if necessary.
+    std::vector<ShapePtr>& rChildren = pCurrParent->getChildren();
+    for (size_t i = 0; i < rChildren.size(); ++i)
+        rChildren[i]->setZOrder(i);
+
+    for (size_t i = 0; i < rChildren.size(); ++i)
+    {
+        const ShapePtr& pChild = rChildren[i];
+        sal_Int32 nZOrderOff = pChild->getZOrderOff();
+        if (nZOrderOff <= 0)
+            continue;
+
+        // Increase my ZOrder by nZOrderOff.
+        pChild->setZOrder(pChild->getZOrder() + nZOrderOff);
+        pChild->setZOrderOff(0);
+
+        for (sal_Int32 j = 0; j < nZOrderOff; ++j)
+        {
+            size_t nIndex = i + j + 1;
+            if (nIndex >= rChildren.size())
+                break;
+
+            // Decrease the ZOrder of the next nZOrderOff elements by one.
+            const ShapePtr& pNext = rChildren[nIndex];
+            pNext->setZOrder(pNext->getZOrder() - 1);
+        }
+    }
+
+    // Now that the ZOrders are adjusted, sort the children.
+    std::sort(rChildren.begin(), rChildren.end(),
+              [](const ShapePtr& a, const ShapePtr& b) { return a->getZOrder() < b->getZOrder(); });
 }
 
 void ShapeCreationVisitor::visit(ShapeAtom& /*rAtom*/)
@@ -235,7 +281,7 @@ void ShapeLayoutingVisitor::defaultVisit(LayoutAtom const & rAtom)
 void ShapeLayoutingVisitor::visit(ConstraintAtom& rAtom)
 {
     if (meLookFor == CONSTRAINT)
-        rAtom.parseConstraint(maConstraints);
+        rAtom.parseConstraint(maConstraints, /*bRequireForName=*/true);
 }
 
 void ShapeLayoutingVisitor::visit(AlgAtom& rAtom)
diff --git a/oox/source/drawingml/diagram/layoutatomvisitors.hxx b/oox/source/drawingml/diagram/layoutatomvisitors.hxx
index 299739186315..f395f6a68668 100644
--- a/oox/source/drawingml/diagram/layoutatomvisitors.hxx
+++ b/oox/source/drawingml/diagram/layoutatomvisitors.hxx
@@ -33,6 +33,8 @@ class ShapeCreationVisitor : public LayoutAtomVisitor
     ShapePtr mpParentShape;
     const Diagram& mrDgm;
     sal_Int32 mnCurrIdx;
+    sal_Int32 mnCurrStep = 0;
+    sal_Int32 mnCurrCnt = 0;
     const dgm::Point* mpCurrentNode;
 
     void defaultVisit(LayoutAtom const & rAtom);
diff --git a/oox/source/drawingml/diagram/layoutnodecontext.cxx b/oox/source/drawingml/diagram/layoutnodecontext.cxx
index 257f490f7c7c..ad62ba5d712b 100644
--- a/oox/source/drawingml/diagram/layoutnodecontext.cxx
+++ b/oox/source/drawingml/diagram/layoutnodecontext.cxx
@@ -209,6 +209,8 @@ LayoutNodeContext::onCreateContext( ::sal_Int32 aElement,
 
         pShape->setDiagramRotation(rAttribs.getInteger(XML_rot, 0) * PER_DEGREE);
 
+        pShape->setZOrderOff(rAttribs.getInteger(XML_zOrderOff, 0));
+
         ShapeAtomPtr pAtom( new ShapeAtom(mpNode->getLayoutNode(), pShape) );
         LayoutAtom::connect(mpNode, pAtom);
         return new ShapeContext( *this, ShapePtr(), pShape );
diff --git a/oox/source/drawingml/shape.cxx b/oox/source/drawingml/shape.cxx
index 2926614b8efc..16bc511743b1 100644
--- a/oox/source/drawingml/shape.cxx
+++ b/oox/source/drawingml/shape.cxx
@@ -175,6 +175,8 @@ Shape::Shape( const ShapePtr& pSourceShape )
 , maLinkedTxbxAttr()
 , mbHasLinkedTxbx(false)
 , maDiagramDoms( pSourceShape->maDiagramDoms )
+, mnZOrder(pSourceShape->mnZOrder)
+, mnZOrderOff(pSourceShape->mnZOrderOff)
 {}
 
 Shape::~Shape()
diff --git a/sd/qa/unit/data/pptx/smartart-accent-process.pptx b/sd/qa/unit/data/pptx/smartart-accent-process.pptx
new file mode 100644
index 000000000000..8710e7f170a9
Binary files /dev/null and b/sd/qa/unit/data/pptx/smartart-accent-process.pptx differ
diff --git a/sd/qa/unit/data/pptx/smartart-continuous-block-process.pptx b/sd/qa/unit/data/pptx/smartart-continuous-block-process.pptx
new file mode 100644
index 000000000000..b2ef58f0bbb3
Binary files /dev/null and b/sd/qa/unit/data/pptx/smartart-continuous-block-process.pptx differ
diff --git a/sd/qa/unit/import-tests-smartart.cxx b/sd/qa/unit/import-tests-smartart.cxx
index d561f138f16f..b83de20890b1 100644
--- a/sd/qa/unit/import-tests-smartart.cxx
+++ b/sd/qa/unit/import-tests-smartart.cxx
@@ -14,6 +14,8 @@
 #include <com/sun/star/style/ParagraphAdjust.hpp>
 #include <com/sun/star/text/XText.hpp>
 
+#include <comphelper/sequenceashashmap.hxx>
+
 using namespace ::com::sun::star;
 
 class SdImportTestSmartArt : public SdModelTestBase
@@ -29,6 +31,8 @@ public:
     void testVertialBoxList();
     void testVertialBracketList();
     void testTableList();
+    void testAccentProcess();
+    void testContinuousBlockProcess();
 
     CPPUNIT_TEST_SUITE(SdImportTestSmartArt);
 
@@ -42,6 +46,8 @@ public:
     CPPUNIT_TEST(testVertialBoxList);
     CPPUNIT_TEST(testVertialBracketList);
     CPPUNIT_TEST(testTableList);
+    CPPUNIT_TEST(testAccentProcess);
+    CPPUNIT_TEST(testContinuousBlockProcess);
 
     CPPUNIT_TEST_SUITE_END();
 };
@@ -276,6 +282,126 @@ void SdImportTestSmartArt::testTableList()
     xDocShRef->DoClose();
 }
 
+void SdImportTestSmartArt::testAccentProcess()
+{
+    sd::DrawDocShellRef xDocShRef = loadURL(
+        m_directories.getURLFromSrc("/sd/qa/unit/data/pptx/smartart-accent-process.pptx"), PPTX);
+    uno::Reference<drawing::XShapes> xGroup(getShapeFromPage(0, 0, xDocShRef), uno::UNO_QUERY);
+    CPPUNIT_ASSERT(xGroup.is());
+    // 3 children: first pair, connector, second pair.
+    CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(3), xGroup->getCount());
+    uno::Reference<drawing::XShape> xGroupShape(xGroup, uno::UNO_QUERY);
+    CPPUNIT_ASSERT(xGroupShape.is());
+
+    // The pair is a parent (shape + text) and a child, so 3 shapes in total.
+    // The order is importent, first is at the back, last is at the front.
+    uno::Reference<drawing::XShapes> xFirstPair(xGroup->getByIndex(0), uno::UNO_QUERY);
+    CPPUNIT_ASSERT(xFirstPair.is());
+    CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(3), xFirstPair->getCount());
+
+    uno::Reference<text::XText> xFirstParentText(xFirstPair->getByIndex(1), uno::UNO_QUERY);
+    CPPUNIT_ASSERT(xFirstParentText.is());
+    CPPUNIT_ASSERT_EQUAL(OUString("a"), xFirstParentText->getString());
+    uno::Reference<drawing::XShape> xFirstParent(xFirstParentText, uno::UNO_QUERY);
+    CPPUNIT_ASSERT(xFirstParent.is());
+    int nFirstParentTop = xFirstParent->getPosition().Y;
+
+    uno::Reference<text::XText> xFirstChildText(xFirstPair->getByIndex(2), uno::UNO_QUERY);
+    CPPUNIT_ASSERT(xFirstChildText.is());
+    CPPUNIT_ASSERT_EQUAL(OUString("b"), xFirstChildText->getString());
+    uno::Reference<drawing::XShape> xFirstChild(xFirstChildText, uno::UNO_QUERY);
+    CPPUNIT_ASSERT(xFirstChildText.is());
+
+    {
+        uno::Reference<container::XEnumerationAccess> xParasAccess(xFirstChildText, uno::UNO_QUERY);
+        uno::Reference<container::XEnumeration> xParas = xParasAccess->createEnumeration();
+        uno::Reference<beans::XPropertySet> xPara(xParas->nextElement(), uno::UNO_QUERY);
+        // Without the accompanying fix in place, this test would have failed
+        // with 'Expected: 0; Actual  : 1270', i.e. there was a large
+        // unexpected left margin.
+        CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(0),
+                             xPara->getPropertyValue("ParaLeftMargin").get<sal_Int32>());
+
+        uno::Reference<container::XIndexAccess> xRules(xPara->getPropertyValue("NumberingRules"),
+                                                       uno::UNO_QUERY);
+        comphelper::SequenceAsHashMap aRule(xRules->getByIndex(1));
+        CPPUNIT_ASSERT_EQUAL(OUString::fromUtf8(u8"•"), aRule["BulletChar"].get<OUString>());
+    }
+
+    int nFirstChildTop = xFirstChild->getPosition().Y;
+    int nFirstChildRight = xFirstChild->getPosition().X + xFirstChild->getSize().Width;
+
+    // First child is below the first parent.
+    // Without the accompanying fix in place, this test would have failed with
+    // 'Expected less than: 3881, Actual  : 3881', i.e. xFirstChild was not
+    // below xFirstParent (a good position is 9081).
+    CPPUNIT_ASSERT_LESS(nFirstChildTop, nFirstParentTop);
+
+    // Make sure that we have an arrow shape between the two pairs.
+    uno::Reference<beans::XPropertySet> xArrow(xGroup->getByIndex(1), uno::UNO_QUERY);
+    CPPUNIT_ASSERT(xArrow.is());
+    comphelper::SequenceAsHashMap aCustomShapeGeometry(
+        xArrow->getPropertyValue("CustomShapeGeometry"));
+    // Without the accompanying fix in place, this test would have failed, i.e.
+    // the custom shape lacked a type -> arrow was not visible.
+    CPPUNIT_ASSERT(aCustomShapeGeometry["Type"].has<OUString>());
+    OUString aType = aCustomShapeGeometry["Type"].get<OUString>();
+    CPPUNIT_ASSERT_EQUAL(OUString("ooxml-rightArrow"), aType);
+
+    // Make sure that height of the arrow is less than its width.
+    uno::Reference<drawing::XShape> xArrowShape(xArrow, uno::UNO_QUERY);
+    CPPUNIT_ASSERT(xArrowShape.is());
+    awt::Size aArrowSize = xArrowShape->getSize();
+    CPPUNIT_ASSERT_LESS(aArrowSize.Width, aArrowSize.Height);
+
+    uno::Reference<drawing::XShapes> xSecondPair(xGroup->getByIndex(2), uno::UNO_QUERY);
+    CPPUNIT_ASSERT(xSecondPair.is());
+    CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(3), xSecondPair->getCount());
+    uno::Reference<text::XText> xSecondParentText(xSecondPair->getByIndex(1), uno::UNO_QUERY);
+    CPPUNIT_ASSERT(xFirstParentText.is());
+    // Without the accompanying fix in place, this test would have failed with
+    // 'Expected: cc; Actual  : c', i.e. non-first runs on data points were ignored.
+    CPPUNIT_ASSERT_EQUAL(OUString("cc"), xSecondParentText->getString());
+    uno::Reference<drawing::XShape> xSecondParent(xSecondParentText, uno::UNO_QUERY);
+    CPPUNIT_ASSERT(xSecondParent.is());
+    int nSecondParentLeft = xSecondParent->getPosition().X;
+    // Without the accompanying fix in place, this test would have failed with
+    // 'Expected less than: 12700; Actual  : 18540', i.e. the "b" and "c"
+    // shapes overlapped.
+    CPPUNIT_ASSERT_LESS(nSecondParentLeft, nFirstChildRight);
+
+    xDocShRef->DoClose();
+}
+
+void SdImportTestSmartArt::testContinuousBlockProcess()
+{
+    sd::DrawDocShellRef xDocShRef = loadURL(
+        m_directories.getURLFromSrc("/sd/qa/unit/data/pptx/smartart-continuous-block-process.pptx"),
+        PPTX);
+    uno::Reference<drawing::XShapes> xGroup(getShapeFromPage(0, 0, xDocShRef), uno::UNO_QUERY);
+    CPPUNIT_ASSERT(xGroup.is());
+    // 2 children: background, foreground.
+    CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(2), xGroup->getCount());
+
+    uno::Reference<drawing::XShapes> xLinear(xGroup->getByIndex(1), uno::UNO_QUERY);
+    CPPUNIT_ASSERT(xLinear.is());
+    // 3 children: A, B and C.
+    CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(3), xLinear->getCount());
+
+    uno::Reference<text::XText> xA(xLinear->getByIndex(0), uno::UNO_QUERY);
+    CPPUNIT_ASSERT(xA.is());
+    CPPUNIT_ASSERT_EQUAL(OUString("A"), xA->getString());
+    uno::Reference<drawing::XShape> xAShape(xA, uno::UNO_QUERY);
+    CPPUNIT_ASSERT(xAShape.is());
+    // Without the accompanying fix in place, this test would have failed: the
+    // theoretically correct value is 5462 mm100 (16933 is the total width, and
+    // need to divide that to 1, 0.5, 1, 0.5 and 1 units), while the old value
+    // was 4703 and the new one is 5461.
+    CPPUNIT_ASSERT_GREATER(static_cast<sal_Int32>(5000), xAShape->getSize().Width);
+
+    xDocShRef->DoClose();
+}
+
 CPPUNIT_TEST_SUITE_REGISTRATION(SdImportTestSmartArt);
 
 CPPUNIT_PLUGIN_IMPLEMENT();
commit 3423dca574d0a2d46d0399705cd7926f5c0aab62
Author:     Lionel Elie Mamane <lionel at mamane.lu>
AuthorDate: Tue Dec 18 22:04:18 2018 +0100
Commit:     Christian Lohmaier <lohmaier+LibreOffice at googlemail.com>
CommitDate: Wed Dec 19 21:29:24 2018 +0100

    postgresql: correctly implement XMultipleResults interface
    
    note that we implement it in a very limited way, since we will always
    return only a single result.
    
    Change-Id: Idc7927d1a6896b78f6de8627ba857982821ac629
    Reviewed-on: https://gerrit.libreoffice.org/65382
    Tested-by: Jenkins
    Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice at googlemail.com>

diff --git a/connectivity/source/drivers/postgresql/pq_preparedstatement.cxx b/connectivity/source/drivers/postgresql/pq_preparedstatement.cxx
index 865222cbcc83..a976d7e3dfc4 100644
--- a/connectivity/source/drivers/postgresql/pq_preparedstatement.cxx
+++ b/connectivity/source/drivers/postgresql/pq_preparedstatement.cxx
@@ -741,6 +741,10 @@ sal_Int32 PreparedStatement::getUpdateCount(  )
 }
 sal_Bool PreparedStatement::getMoreResults(  )
 {
+    Reference< XCloseable > lastResultSet = m_lastResultset;
+    if( lastResultSet.is() )
+        lastResultSet->close();
+    m_multipleResultUpdateCount = -1;
     return false;
 }
 
diff --git a/connectivity/source/drivers/postgresql/pq_statement.cxx b/connectivity/source/drivers/postgresql/pq_statement.cxx
index b50f9008c720..184b305aa1fd 100644
--- a/connectivity/source/drivers/postgresql/pq_statement.cxx
+++ b/connectivity/source/drivers/postgresql/pq_statement.cxx
@@ -939,6 +939,15 @@ sal_Int32 Statement::getUpdateCount(  )
 
 sal_Bool Statement::getMoreResults(  )
 {
+    // The PostgreSQL C interface always returns a single result,
+    // so we will never have multiple ones.
+    // Implicitly close the open resultset (if any) as per spec,
+    // and setup to signal "no more result, neither as resultset,
+    // nor as update count".
+    Reference< XCloseable > lastResultSetHolder = m_lastResultset;
+    if( lastResultSetHolder.is() )
+        lastResultSetHolder->close();
+    m_multipleResultUpdateCount = -1;
     return false;
 }
 
commit d5fd1538890dee3ba1b6564a1e657046518f44d3
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Wed Dec 19 12:19:46 2018 +0000
Commit:     Eike Rathke <erack at redhat.com>
CommitDate: Wed Dec 19 17:03:08 2018 +0100

    tdf#120859 bad column span in .ui leads to overlapping checkbuttons
    
    possibly(?) since...
    
    commit d999b55e28d0445df870f69b3a269964e3635def
    Date:   Sun Dec 10 10:56:38 2017 +0530
    
        tdf#114200  : added 'Trim space' feature in 'Text Import'
    
        made a checkbox to Trim extra white spaces from both ends
        while using seperators in 'Text Imort'
    
    Change-Id: I280c5daacdc823ea26d02890ddbc4685a5382e6c
    Reviewed-on: https://gerrit.libreoffice.org/65429
    Tested-by: Jenkins
    Reviewed-by: Eike Rathke <erack at redhat.com>

diff --git a/sc/uiconfig/scalc/ui/textimportcsv.ui b/sc/uiconfig/scalc/ui/textimportcsv.ui
index 106f7b6840d5..13cc41491347 100644
--- a/sc/uiconfig/scalc/ui/textimportcsv.ui
+++ b/sc/uiconfig/scalc/ui/textimportcsv.ui
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.20.4 -->
+<!-- Generated with glade 3.22.1 -->
 <interface domain="sc">
   <requires lib="gtk+" version="3.18"/>
   <requires lib="LibreOffice" version="1.0"/>
@@ -311,7 +311,7 @@
                                   <packing>
                                     <property name="left_attach">0</property>
                                     <property name="top_attach">1</property>
-                                    <property name="width">4</property>
+                                    <property name="width">2</property>
                                   </packing>
                                 </child>
                                 <child>
@@ -329,7 +329,7 @@
                                   <packing>
                                     <property name="left_attach">2</property>
                                     <property name="top_attach">1</property>
-                                    <property name="width">4</property>
+                                    <property name="width">2</property>
                                   </packing>
                                 </child>
                                 <child>
commit c1bff09047624898320767921f3bf01d95b8e0e2
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Tue Dec 18 12:44:37 2018 +0000
Commit:     Adolfo Jayme Barrientos <fitojb at ubuntu.com>
CommitDate: Wed Dec 19 05:55:34 2018 +0100

    Related: tdf#103884 remove dangling menubar command
    
    since...
    
    commit 08a43cc97ccf88faa9d3a04afc3aacd2c885a2d1
    Date:   Sat Oct 28 02:28:18 2017 +0200
    
        related: tdf#103884 remove gltf/collada feature
    
    Change-Id: I7671746f2b33f8d4eae207448267d0284a3f9804
    Reviewed-on: https://gerrit.libreoffice.org/65338
    Tested-by: Jenkins
    Reviewed-by: Adolfo Jayme Barrientos <fitojb at ubuntu.com>

diff --git a/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu b/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
index 3d30a974ee06..4143da531483 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
@@ -6558,11 +6558,6 @@
           <value xml:lang="en-US">Edit with External Tool</value>
         </prop>
       </node>
-      <node oor:name=".uno:Insert3DModel" oor:op="replace">
-        <prop oor:name="Label" oor:type="xs:string">
-          <value xml:lang="en-US">3D Model...</value>
-        </prop>
-      </node>
       <node oor:name=".uno:ClassificationApply" oor:op="replace">
         <prop oor:name="Label" oor:type="xs:string">
           <value xml:lang="en-US">Apply document classification</value>
diff --git a/sd/uiconfig/simpress/menubar/menubar.xml b/sd/uiconfig/simpress/menubar/menubar.xml
index 84e264c58cb6..d2fdaf29a818 100644
--- a/sd/uiconfig/simpress/menubar/menubar.xml
+++ b/sd/uiconfig/simpress/menubar/menubar.xml
@@ -189,7 +189,6 @@
             <menu:menu menu:id=".uno:ObjectMenu">
                 <menu:menupopup>
                     <menu:menuitem menu:id=".uno:InsertMath"/>
-                    <menu:menuitem menu:id=".uno:Insert3DModel"/>
                     <menu:menuitem menu:id=".uno:InsertObject"/>
                 </menu:menupopup>
             </menu:menu>
commit 2421b42c006e1a9c9059c8a256685d2124f4e396
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Mon Dec 17 16:53:35 2018 +0000
Commit:     Caolán McNamara <caolanm at redhat.com>
CommitDate: Tue Dec 18 09:56:50 2018 +0100

    Resolves: tdf#122153 keep Execute for modal dialogs
    
    and not modeless ones
    
    cause you get one main loop running inside another, and everything
    is running inside the modeless dialog main loop until it exits.
    
    Change-Id: I45e92380288727669e287b62e84b815d5dc1960c
    Reviewed-on: https://gerrit.libreoffice.org/65282
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>
    (cherry picked from commit c821da3ecc3c309be2ec2db204a4c853b53fa979)
    Reviewed-on: https://gerrit.libreoffice.org/65292

diff --git a/filter/source/xsltdialog/xmlfilterdialogcomponent.cxx b/filter/source/xsltdialog/xmlfilterdialogcomponent.cxx
index 0e55cd318141..31e69c3ec0e9 100644
--- a/filter/source/xsltdialog/xmlfilterdialogcomponent.cxx
+++ b/filter/source/xsltdialog/xmlfilterdialogcomponent.cxx
@@ -265,7 +265,6 @@ void SAL_CALL XMLFilterDialogComponent::queryTermination( const EventObject& /*
         mpDialog->Close();
 }
 
-
 void SAL_CALL XMLFilterDialogComponent::notifyTermination( const EventObject& /* Event */ )
 {
     // we are going down, so dispose us!
@@ -276,35 +275,41 @@ void SAL_CALL XMLFilterDialogComponent::disposing( const EventObject& /* Source
 {
 }
 
-
 void SAL_CALL XMLFilterDialogComponent::setTitle( const OUString& /* _rTitle */ )
 {
 }
 
-
-sal_Int16 SAL_CALL XMLFilterDialogComponent::execute(  )
+sal_Int16 SAL_CALL XMLFilterDialogComponent::execute()
 {
     ::SolarMutexGuard aGuard;
 
-    if( nullptr == mpDialog )
+    bool bLaunch = false;
+    if (!mpDialog)
     {
         Reference< XComponent > xComp( this );
         if (mxParent.is())
             mpDialog = VclPtr<XMLFilterSettingsDialog>::Create(VCLUnoHelper::GetWindow(mxParent), mxContext);
         else
             mpDialog = VclPtr<XMLFilterSettingsDialog>::Create(nullptr, mxContext, Dialog::InitFlag::NoParent);
-        mpDialog->Execute();
+        bLaunch = true;
     }
-    else if( !mpDialog->IsVisible() )
+
+    mpDialog->UpdateWindow();
+
+    if (!bLaunch)
     {
-        mpDialog->Execute();
+        mpDialog->ToTop();
+        return 0;
     }
-    mpDialog->ToTop();
+
+    mpDialog->StartExecuteAsync([this](sal_Int32)
+    {
+        mpDialog.reset();
+    });
 
     return 0;
 }
 
-
 void SAL_CALL XMLFilterDialogComponent::initialize( const Sequence< Any >& aArguments )
 {
     for(const Any& rArgument : aArguments)
@@ -320,7 +325,6 @@ void SAL_CALL XMLFilterDialogComponent::initialize( const Sequence< Any >& aArgu
     }
 }
 
-
 extern "C"
 {
 SAL_DLLPUBLIC_EXPORT void * xsltdlg_component_getFactory(
diff --git a/filter/source/xsltdialog/xmlfiltersettingsdialog.cxx b/filter/source/xsltdialog/xmlfiltersettingsdialog.cxx
index 5ef80ab68062..d54ee2376305 100644
--- a/filter/source/xsltdialog/xmlfiltersettingsdialog.cxx
+++ b/filter/source/xsltdialog/xmlfiltersettingsdialog.cxx
@@ -177,15 +177,13 @@ IMPL_LINK_NOARG(XMLFilterSettingsDialog, DoubleClickHdl_Impl, SvTreeListBox*, bo
     return false;
 }
 
-short XMLFilterSettingsDialog::Execute()
+void XMLFilterSettingsDialog::UpdateWindow()
 {
     m_pCtrlFilterList->GrabFocus();
     disposeFilterList();
     m_pFilterListBox->Clear();
     initFilterList();
     updateStates();
-
-    return ModelessDialog::Execute();
 }
 
 void XMLFilterSettingsDialog::updateStates()
diff --git a/filter/source/xsltdialog/xmlfiltersettingsdialog.hxx b/filter/source/xsltdialog/xmlfiltersettingsdialog.hxx
index 072c5d4542a5..7ca7d432582d 100644
--- a/filter/source/xsltdialog/xmlfiltersettingsdialog.hxx
+++ b/filter/source/xsltdialog/xmlfiltersettingsdialog.hxx
@@ -92,7 +92,7 @@ public:
     DECL_LINK(SelectionChangedHdl_Impl, SvTreeListBox*, void );
     DECL_LINK(DoubleClickHdl_Impl, SvTreeListBox*, bool );
 
-    virtual short Execute() override;
+    void    UpdateWindow();
 
     void    onNew();
     void    onEdit();
commit d9f02548f29678b8b7fc3a6c714ab144bd728005
Author:     Samuel Mehrbrodt <Samuel.Mehrbrodt at cib.de>
AuthorDate: Thu Dec 13 19:58:36 2018 +0100
Commit:     Thorsten Behrens <Thorsten.Behrens at CIB.de>
CommitDate: Sun Dec 16 01:30:09 2018 +0100

    tdf#121962 Update fields after layout has been calculated
    
    Change-Id: Ic4a49494652dab416ddb1545da02eb8a7f533828
    Reviewed-on: https://gerrit.libreoffice.org/65126
    Tested-by: Jenkins
    Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt at cib.de>
    (cherry picked from commit 2bc1d00af6863d5c92389f1f4a99d2ab9bb73f81)
    Reviewed-on: https://gerrit.libreoffice.org/65201
    Reviewed-by: Thorsten Behrens <Thorsten.Behrens at CIB.de>

diff --git a/sw/source/uibase/uno/unotxdoc.cxx b/sw/source/uibase/uno/unotxdoc.cxx
index 1db55d3c5831..6e9701c765eb 100644
--- a/sw/source/uibase/uno/unotxdoc.cxx
+++ b/sw/source/uibase/uno/unotxdoc.cxx
@@ -2630,8 +2630,6 @@ sal_Int32 SAL_CALL SwXTextDocument::getRendererCount(
                 bStateChanged = true;
             }
 
-            // #122919# Force field update before PDF export
-            pViewShell->SwViewShell::UpdateFields(true);
             if( bStateChanged )
                 pRenderDocShell->EnableSetModified();
 
@@ -2641,6 +2639,9 @@ sal_Int32 SAL_CALL SwXTextDocument::getRendererCount(
             pViewShell->CalcLayout();
             pViewShell->CalcPagesForPrint( pViewShell->GetPageCount() );
 
+            // #122919# Force field update before PDF export, but after layout init (tdf#121962)
+            pViewShell->SwViewShell::UpdateFields(true);
+
             pViewShell->SetPDFExportOption( false );
 
             // enable view again
commit 73c3c3deff69ccd6a2f55952a911738496fb3c32
Author:     Xisco Fauli <xiscofauli at libreoffice.org>
AuthorDate: Thu Dec 13 17:10:29 2018 +0100
Commit:     Xisco Faulí <xiscofauli at libreoffice.org>
CommitDate: Fri Dec 14 18:44:57 2018 +0100

    tdf#120750: Revert "tdf#96248 delete SfxPoolItems with Which Id >= 4000"
    
    This reverts commit c9493b344a9bd104d0a882f5e9407880c0c63c20.
    
    According to
    https://bugs.documentfoundation.org/show_bug.cgi?id=96248#c15
    the asert was gone even before the patch...
    
    Anyway, better to have an assert than a crash
    
    Change-Id: I84389bf2e8e604f6967923c0eedaae3aec3455e6
    Reviewed-on: https://gerrit.libreoffice.org/65115
    Tested-by: Jenkins
    Reviewed-by: Jochen Nitschke <j.nitschke+logerrit at ok.de>
    Reviewed-by: Xisco Faulí <xiscofauli at libreoffice.org>
    (cherry picked from commit c5d0d424bd7e78455cb6f9578cf2425ac0787004)
    Reviewed-on: https://gerrit.libreoffice.org/65159

diff --git a/svl/source/items/itempool.cxx b/svl/source/items/itempool.cxx
index 76e9d90b485f..2ac29e44ada6 100644
--- a/svl/source/items/itempool.cxx
+++ b/svl/source/items/itempool.cxx
@@ -765,9 +765,16 @@ void SfxItemPool::Remove( const SfxPoolItem& rItem )
         SfxPoolItem*& p = (*pItemArr)[nIdx];
         assert(p == &rItem);
 
-        assert(p->GetRefCount() && "removing Item without ref");
+        if ( p->GetRefCount() ) //!
+            ReleaseRef( *p );
+        else
+        {
+            assert(false && "removing Item without ref");
+        }
 
-        if (0 == ReleaseRef(*p))
+        // FIXME: Hack, for as long as we have problems with the Outliner
+        // See other MI-REF
+        if ( 0 == p->GetRefCount() && nWhich < 4000 )
         {
             DELETEZ(p);
 
commit 546eadd66ebc319ad8c627186b47c5ead0747009
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Tue Nov 27 14:02:12 2018 +0000
Commit:     Xisco Faulí <xiscofauli at libreoffice.org>
CommitDate: Fri Dec 14 16:42:32 2018 +0100

    tdf#90333 Dictionaries Path Cannot Be Changed
    
    PathSettings::impl_storePath wants to be able to nil the Dictionaries
    path in the old copy of properties
    
    Change-Id: Id579914cfa8b459efce962d304e2f9d6185bd55f
    Reviewed-on: https://gerrit.libreoffice.org/64115
    Tested-by: Jenkins
    Reviewed-by: Stephan Bergmann <sbergman at redhat.com>
    (cherry picked from commit f913bdf712b9e03506b1278e1142283af92125b1)
    Reviewed-on: https://gerrit.libreoffice.org/64145
    (cherry picked from commit ce7bb69f8205bcbe36cba4c53bd110e07ef3e05d)
    Reviewed-on: https://gerrit.libreoffice.org/65088
    Reviewed-by: Xisco Faulí <xiscofauli at libreoffice.org>

diff --git a/officecfg/registry/schema/org/openoffice/Office/Common.xcs b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
index 3d73cc94deb2..6b5729412f6e 100644
--- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
@@ -1617,7 +1617,7 @@
           </info>
           <value>$(insturl)/@LIBO_SHARE_FOLDER@/config</value>
         </prop>
-        <prop oor:name="Dictionary" oor:type="xs:string" oor:nillable="false">
+        <prop oor:name="Dictionary" oor:type="xs:string">
           <info>
             <desc>Contains the provided dictionaries.</desc>
           </info>
commit 9ad4162af1d07fe1fda34b51c54e385bab27bd92
Author:     Christian Lohmaier <lohmaier+LibreOffice at googlemail.com>
AuthorDate: Wed Dec 12 22:49:12 2018 +0100
Commit:     Gerrit Code Review <gerrit at gerrit.libreoffice.org>
CommitDate: Wed Dec 12 21:53:51 2018 +0100

    Update git submodules
    
    * Update translations from branch 'libreoffice-6-1'
      - new string for 6.1
    
        Change-Id: I2dc1a9611f8fa9e8c8032c1c148e4d7de24b6851

diff --git a/translations b/translations
index 4130dcdb31d4..64dc0c3d98e9 160000
--- a/translations
+++ b/translations
@@ -1 +1 @@
-Subproject commit 4130dcdb31d4df40af488c87ca4e88cc72d59791
+Subproject commit 64dc0c3d98e9e84196c25f7ec5e7aca3b5439b0e
commit 6585ccbae80cb8f825cc657ad42f30644d9a4b38
Author:     Lionel Elie Mamane <lionel at mamane.lu>
AuthorDate: Wed Dec 5 17:17:21 2018 +0100
Commit:     Michael Stahl <Michael.Stahl at cib.de>
CommitDate: Wed Dec 12 17:26:23 2018 +0100

    address forward incompatibility of InputRequired default change
    
    commit fec8c14e960fbcd639a04d6c3354caff2d0bd365 changed the default value
    of InputRequired as read from the file; that is the value InputRequired

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list