[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.0' - 55 commits - basic/source chart2/qa chart2/source configure.ac cui/source dbaccess/source desktop/source download.lst external/lcms2 external/libxml2 external/poppler external/python3 filter/source officecfg/registry oox/inc oox/source sc/inc sc/qa sc/source sdext/source sd/source sd/uiconfig sfx2/source slideshow/source svl/source svx/source sw/qa sw/source toolkit/source vcl/osx vcl/quartz vcl/source vcl/unx xmloff/source xmlsecurity/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Thu Jan 17 14:05:24 UTC 2019


 basic/source/sbx/sbxarray.cxx                                                      |    6 
 chart2/qa/extras/chart2import.cxx                                                  |   16 
 chart2/qa/extras/data/pptx/tdf121205.pptx                                          |binary
 chart2/source/view/axes/DateHelper.cxx                                             |    3 
 chart2/source/view/charttypes/AreaChart.cxx                                        |    5 
 chart2/source/view/charttypes/VSeriesPlotter.cxx                                   |    7 
 configure.ac                                                                       |    2 
 cui/source/customize/SvxMenuConfigPage.cxx                                         |    6 
 cui/source/customize/SvxToolbarConfigPage.cxx                                      |   17 
 cui/source/customize/cfg.cxx                                                       |   12 
 cui/source/options/optgdlg.cxx                                                     |    2 
 cui/source/tabpages/tparea.cxx                                                     |    2 
 dbaccess/source/ui/control/dbtreelistbox.cxx                                       |   24 -
 dbaccess/source/ui/inc/dbtreelistbox.hxx                                           |    3 
 desktop/source/deployment/gui/dp_gui_theextmgr.cxx                                 |    1 
 download.lst                                                                       |   20 -
 external/lcms2/0001-Added-an-extra-check-to-MLU-bounds.patch.1                     |   25 -
 external/lcms2/0017-Upgrade-Visual-studio-2017-15.8.patch.1                        |  172 ++++++++++
 external/lcms2/UnpackedTarball_lcms2.mk                                            |    2 
 external/libxml2/libxml2-android.patch                                             |   12 
 external/libxml2/libxml2-global-symbols.patch                                      |    4 
 external/poppler/StaticLibrary_poppler.mk                                          |    6 
 external/poppler/UnpackedTarball_poppler.mk                                        |   11 
 external/poppler/poppler-c++11.patch.1                                             |   31 +
 external/poppler/poppler-config.patch.1                                            |   12 
 external/python3/0001-3.6-bpo-17239-Disable-external-entities-in-SAX-parse.patch.1 |   59 +++
 external/python3/UnpackedTarball_python3.mk                                        |    1 
 filter/source/msfilter/svdfppt.cxx                                                 |    5 
 officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu               |    5 
 officecfg/registry/data/org/openoffice/VCL.xcu                                     |    3 
 oox/inc/drawingml/textrun.hxx                                                      |    1 
 oox/source/drawingml/chart/seriesconverter.cxx                                     |   14 
 oox/source/drawingml/chart/titleconverter.cxx                                      |    2 
 oox/source/drawingml/textcharacterpropertiescontext.cxx                            |   11 
 sc/inc/dpglobal.hxx                                                                |    2 
 sc/qa/unit/data/ods/tdf121612.ods                                                  |binary
 sc/qa/unit/subsequent_export-test.cxx                                              |   20 +
 sc/source/core/data/dpgroup.cxx                                                    |    6 
 sc/source/filter/excel/xepivotxml.cxx                                              |   11 
 sc/source/filter/oox/chartsheetfragment.cxx                                        |   10 
 sc/source/filter/oox/sheetdatacontext.cxx                                          |    2 
 sc/source/filter/xml/XMLExportDataPilot.cxx                                        |    1 
 sc/source/filter/xml/XMLExportIterator.hxx                                         |    2 
 sc/source/ui/StatisticsDialogs/AnalysisOfVarianceDialog.cxx                        |    2 
 sc/source/ui/StatisticsDialogs/TableFillingAndNavigationTools.cxx                  |    4 
 sc/source/ui/inc/TableFillingAndNavigationTools.hxx                                |    2 
 sc/source/ui/pagedlg/scuitphfedit.cxx                                              |    4 
 sc/source/ui/unoobj/chart2uno.cxx                                                  |    2 
 sd/source/ui/slidesorter/controller/SlsInsertionIndicatorHandler.cxx               |    2 
 sd/uiconfig/simpress/menubar/menubar.xml                                           |    1 
 sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx                              |   38 +-
 sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx                              |   49 +-
 sdext/source/pdfimport/xpdfwrapper/pnghelper.cxx                                   |    6 
 sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx                                 |   10 
 sfx2/source/dialog/dinfdlg.cxx                                                     |   17 
 slideshow/source/engine/animationnodes/animationcommandnode.cxx                    |   24 +
 slideshow/source/engine/animationnodes/animationcommandnode.hxx                    |    2 
 svl/source/items/itempool.cxx                                                      |   11 
 svx/source/tbxctrls/tbcontrl.cxx                                                   |   17 
 svx/source/toolbars/fontworkbar.cxx                                                |    5 
 sw/qa/core/data/ww8/fail/forcepoint-44.doc                                         |binary
 sw/qa/extras/odfexport/data/tdf118393.odt                                          |binary
 sw/qa/extras/odfexport/odfexport.cxx                                               |   50 ++
 sw/qa/extras/ooxmlexport/data/tdf118393.odt                                        |binary
 sw/qa/extras/ooxmlexport/ooxmlexport.cxx                                           |   51 ++
 sw/source/core/access/acccell.cxx                                                  |    2 
 sw/source/core/access/accframebase.cxx                                             |    2 
 sw/source/core/inc/frame.hxx                                                       |    2 
 sw/source/core/inc/ftnfrm.hxx                                                      |    1 
 sw/source/core/layout/calcmove.cxx                                                 |    1 
 sw/source/core/layout/ftnfrm.cxx                                                   |   29 +
 sw/source/core/layout/pagechg.cxx                                                  |    2 
 sw/source/core/layout/tabfrm.cxx                                                   |    5 
 sw/source/filter/ww8/wrtw8sty.cxx                                                  |    7 
 sw/source/filter/ww8/wrtww8.cxx                                                    |    1 
 sw/source/filter/ww8/wrtww8.hxx                                                    |    1 
 sw/source/filter/ww8/ww8atr.cxx                                                    |   29 +
 sw/source/uibase/uno/unotxdoc.cxx                                                  |    5 
 sw/source/uibase/utlui/content.cxx                                                 |    5 
 sw/source/uibase/wrtsh/wrtundo.cxx                                                 |    3 
 toolkit/source/awt/vclxwindow.cxx                                                  |    2 
 vcl/osx/a11ywrapper.mm                                                             |    2 
 vcl/quartz/salvd.cxx                                                               |    9 
 vcl/source/window/menufloatingwindow.cxx                                           |   12 
 vcl/source/window/menufloatingwindow.hxx                                           |    2 
 vcl/unx/gtk/gtksalframe.cxx                                                        |    7 
 vcl/unx/gtk/gtksalmenu.cxx                                                         |   14 
 vcl/unx/gtk3/gtk3gtkframe.cxx                                                      |    7 
 xmloff/source/chart/SchXMLExport.cxx                                               |    2 
 xmloff/source/draw/shapeexport.cxx                                                 |    5 
 xmlsecurity/source/xmlsec/xmlstreamio.cxx                                          |    6 
 91 files changed, 832 insertions(+), 184 deletions(-)

New commits:
commit 78abe68267637013b9729a0d56b3a9b23122f8da
Author:     Andras Timar <andras.timar at collabora.com>
AuthorDate: Thu Jan 17 15:04:38 2019 +0100
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Jan 17 15:04:38 2019 +0100

    Bump version to 6.0-20
    
    Change-Id: Ie7ac2cab8e87aaf0da38668f762c2a8d27faf9d6

diff --git a/configure.ac b/configure.ac
index 95159102b6b4..745d5219c3ec 100644
--- a/configure.ac
+++ b/configure.ac
@@ -9,7 +9,7 @@ dnl in order to create a configure script.
 # several non-alphanumeric characters, those are split off and used only for the
 # ABOUTBOXPRODUCTVERSIONSUFFIX in openoffice.lst. Why that is necessary, no idea.
 
-AC_INIT([Collabora Office],[6.0.10.19],[],[],[https://collaboraoffice.com/])
+AC_INIT([Collabora Office],[6.0.10.20],[],[],[https://collaboraoffice.com/])
 
 AC_PREREQ([2.59])
 
commit 5283b0587c52995d3fd9df0b0534b6473835db77
Author:     Michael Stahl <Michael.Stahl at cib.de>
AuthorDate: Mon Jan 14 15:12:24 2019 +0100
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Jan 17 15:01:27 2019 +0100

    poppler: upgrade to release 0.73.0
    
    Reviewed-on: https://gerrit.libreoffice.org/66306
    Tested-by: Jenkins
    Reviewed-by: Michael Stahl <Michael.Stahl at cib.de>
    (cherry picked from commit 0609ea4fc27f34367716bf41c0cdaa7785aed9da)
    Reviewed-on: https://gerrit.libreoffice.org/66369
    Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice at googlemail.com>
    (cherry picked from commit 033ff5b3eb90deaf6fd5eb8a74100233aa5fe772)
    
    Change-Id: If20998f8565b5534a96b3f29ccec572273edca1d

diff --git a/download.lst b/download.lst
index 27b384a35195..facec0895fcc 100644
--- a/download.lst
+++ b/download.lst
@@ -220,8 +220,8 @@ export PIXMAN_SHA256SUM := 21b6b249b51c6800dc9553b65106e1e37d0e25df942c90531d4c3
 export PIXMAN_TARBALL := e80ebae4da01e77f68744319f01d52a3-pixman-0.34.0.tar.gz
 export LIBPNG_SHA256SUM := 2f1e960d92ce3b3abd03d06dfec9637dfbd22febf107a536b44f7a47c60659f6
 export LIBPNG_TARBALL := libpng-1.6.34.tar.xz
-export POPPLER_SHA256SUM := 2c096431adfb74bc2f53be466889b7646e1b599f28fa036094f3f7235cc9eae7
-export POPPLER_TARBALL := poppler-0.66.0.tar.xz
+export POPPLER_SHA256SUM := e44b5543903128884ba4538c2a97d3bcc8889e97ffacc4636112101f0238db03
+export POPPLER_TARBALL := poppler-0.73.0.tar.xz
 export POSTGRESQL_SHA256SUM := db61d498105a7d5fe46185e67ac830c878cdd7dc1f82a87f06b842217924c461
 export POSTGRESQL_TARBALL := c0b4799ea9850eae3ead14f0a60e9418-postgresql-9.2.1.tar.bz2
 export PYTHON_SHA256SUM := 063d2c3b0402d6191b90731e0f735c64830e7522348aeb7ed382a83165d45009
diff --git a/external/poppler/StaticLibrary_poppler.mk b/external/poppler/StaticLibrary_poppler.mk
index f145b7ae9c39..aa5ed693eb22 100644
--- a/external/poppler/StaticLibrary_poppler.mk
+++ b/external/poppler/StaticLibrary_poppler.mk
@@ -53,11 +53,8 @@ $(eval $(call gb_StaticLibrary_set_generated_cxx_suffix,poppler,cc))
 
 $(eval $(call gb_StaticLibrary_add_generated_exception_objects,poppler,\
 	UnpackedTarball/poppler/goo/gfile \
-	UnpackedTarball/poppler/goo/gmempp \
-	UnpackedTarball/poppler/goo/GooList \
 	UnpackedTarball/poppler/goo/GooTimer \
 	UnpackedTarball/poppler/goo/GooString \
-	UnpackedTarball/poppler/goo/gmem \
 	UnpackedTarball/poppler/goo/FixedPoint \
 	UnpackedTarball/poppler/goo/NetPBMWriter \
 	UnpackedTarball/poppler/goo/PNGWriter \
@@ -80,6 +77,7 @@ $(eval $(call gb_StaticLibrary_add_generated_exception_objects,poppler,\
 	UnpackedTarball/poppler/poppler/BuiltinFontTables \
 	UnpackedTarball/poppler/poppler/CachedFile \
 	UnpackedTarball/poppler/poppler/Catalog \
+	UnpackedTarball/poppler/poppler/CertificateInfo \
 	UnpackedTarball/poppler/poppler/CharCodeToUnicode \
 	UnpackedTarball/poppler/poppler/CMap \
 	UnpackedTarball/poppler/poppler/DateInfo \
@@ -114,7 +112,6 @@ $(eval $(call gb_StaticLibrary_add_generated_exception_objects,poppler,\
 	UnpackedTarball/poppler/poppler/PDFDoc \
 	UnpackedTarball/poppler/poppler/PDFDocEncoding \
 	UnpackedTarball/poppler/poppler/PDFDocFactory \
-	UnpackedTarball/poppler/poppler/PopplerCache \
 	UnpackedTarball/poppler/poppler/ProfileData \
 	UnpackedTarball/poppler/poppler/PreScanOutputDev \
 	UnpackedTarball/poppler/poppler/PSTokenizer \
@@ -135,7 +132,6 @@ $(eval $(call gb_StaticLibrary_add_generated_exception_objects,poppler,\
 	UnpackedTarball/poppler/poppler/StdinPDFDocBuilder \
 	UnpackedTarball/poppler/poppler/Sound \
 	UnpackedTarball/poppler/poppler/ViewerPreferences \
-	UnpackedTarball/poppler/poppler/XpdfPluginAPI \
 	UnpackedTarball/poppler/poppler/Movie \
 	UnpackedTarball/poppler/poppler/Rendition \
 	UnpackedTarball/poppler/poppler/DCTStream \
diff --git a/external/poppler/UnpackedTarball_poppler.mk b/external/poppler/UnpackedTarball_poppler.mk
index 68fd06d9403b..5b91e1628ba6 100644
--- a/external/poppler/UnpackedTarball_poppler.mk
+++ b/external/poppler/UnpackedTarball_poppler.mk
@@ -13,6 +13,17 @@ $(eval $(call gb_UnpackedTarball_set_tarball,poppler,$(POPPLER_TARBALL),,poppler
 
 $(eval $(call gb_UnpackedTarball_add_patches,poppler,\
 	external/poppler/poppler-config.patch.1 \
+	external/poppler/poppler-c++11.patch.1 \
 ))
 
+# std::make_unique is only available in C++14
+# use "env -i" to avoid Cygwin "environment is too large for exec"
+# Mac OS X sed says "sed: RE error: illegal byte sequence"; Apple clang should
+# be happy with std::make_unique so just skip it
+ifneq ($(OS_FOR_BUILD),MACOSX)
+$(eval $(call gb_UnpackedTarball_set_post_action,poppler,\
+	env -i PATH="$(PATH)" $(FIND) . -name '*.cc' -exec sed -i -e 's/std::make_unique/o3tl::make_unique/' {} \\; \
+))
+endif
+
 # vim: set noet sw=4 ts=4:
diff --git a/external/poppler/poppler-c++11.patch.1 b/external/poppler/poppler-c++11.patch.1
new file mode 100644
index 000000000000..5a4d1a24e2e2
--- /dev/null
+++ b/external/poppler/poppler-c++11.patch.1
@@ -0,0 +1,31 @@
+remove usage of newfangled C++ that baseline toolchains don't support
+
+--- poppler/goo/gfile.cc.orig	2019-01-16 11:02:21.112911552 +0100
++++ poppler/goo/gfile.cc	2019-01-16 11:01:33.125975178 +0100
+@@ -67,7 +67,7 @@
+ 
+ #ifndef _WIN32
+ 
+-using namespace std::string_literals;
++//using namespace std::string_literals;
+ 
+ namespace {
+ 
+@@ -366,7 +366,7 @@
+   }
+ #else
+   // First try to atomically open the file with CLOEXEC
+-  const std::string modeStr = mode + "e"s;
++  const std::string modeStr = mode + std::string("e");
+   FILE *file = fopen(path, modeStr.c_str());
+   if (file != nullptr)
+     return file;
+--- poppler/goo/gmem.h.orig	2019-01-16 11:25:28.161920038 +0100
++++ poppler/goo/gmem.h	2019-01-16 11:25:53.756882295 +0100
+@@ -177,4 +177,6 @@
+   return std::strncpy(r, s, n);
+ }
+ 
++#include <o3tl/make_unique.hxx>
++
+ #endif // GMEM_H
diff --git a/external/poppler/poppler-config.patch.1 b/external/poppler/poppler-config.patch.1
index 5328e680e2f2..e312573f1ff3 100644
--- a/external/poppler/poppler-config.patch.1
+++ b/external/poppler/poppler-config.patch.1
@@ -195,7 +195,7 @@ index 0fbd336a..451213f8 100644
 +#define PACKAGE_NAME "poppler"
 +
 +/* Define to the full name and version of this package. */
-+#define PACKAGE_STRING "poppler 0.66.0"
++#define PACKAGE_STRING "poppler 0.73.0"
 +
 +/* Define to the one symbol short name of this package. */
 +#define PACKAGE_TARNAME "poppler"
@@ -204,7 +204,7 @@ index 0fbd336a..451213f8 100644
 +#define PACKAGE_URL ""
 +
 +/* Define to the version of this package. */
-+#define PACKAGE_VERSION "0.66.0"
++#define PACKAGE_VERSION "0.73.0"
 +
 +/* Poppler data dir */
 +#define POPPLER_DATADIR "/usr/local/share/poppler"
@@ -228,7 +228,7 @@ index 0fbd336a..451213f8 100644
 +/* #undef USE_FLOAT */
 +
 +/* Version number of package */
-+#define VERSION "0.66.0"
++#define VERSION "0.73.0"
 +
 +#if defined(__APPLE__)
 +#elif defined (_WIN32)
@@ -304,7 +304,7 @@ index 0fbd336a..451213f8 100644
 +
 +/* Defines the poppler version. */
 +#ifndef POPPLER_VERSION
-+#define POPPLER_VERSION "0.66.0"
++#define POPPLER_VERSION "0.73.0"
 +#endif
 +
 +/* Enable multithreading support. */
@@ -466,9 +466,9 @@ index 0fbd336a..451213f8 100644
 +
 +#include "poppler-global.h"
 +
-+#define POPPLER_VERSION "0.66.0"
++#define POPPLER_VERSION "0.73.0"
 +#define POPPLER_VERSION_MAJOR 0
-+#define POPPLER_VERSION_MINOR 66
++#define POPPLER_VERSION_MINOR 73
 +#define POPPLER_VERSION_MICRO 0
 +
 +namespace poppler
diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx
index 95d8befdc55b..ced1a653a494 100644
--- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx
+++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx
@@ -28,7 +28,9 @@
 # pragma GCC diagnostic ignored "-Wundef"
 # pragma GCC diagnostic ignored "-Wunused-parameter"
 #elif defined _MSC_VER
-#pragma warning(push, 1)
+#pragma warning(push)
+#pragma warning(disable : 4100) // unreferenced formal parameter
+#pragma warning(disable : 4310) // cast truncates constant value
 #endif
 
 #include <GfxState.h>
commit 4811e562c20cc13194035271ccaa58bdfc358d26
Author:     Miklos Vajna <vmiklos at collabora.com>
AuthorDate: Mon Dec 17 21:13:00 2018 +0100
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Jan 17 14:58:25 2019 +0100

    tdf#121804 DOCX import: handle sub/superscript inside group shapes
    
    Regression from commit d5c934d150cb6cea5f96cbbee4fb5e8312bf027e
    (n#792778 DOCX import: parse group shapes in oox only, 2012-12-14),
    where where manual wordprocessingML -> drawingML translation did not
    handle this character property.
    
    Reviewed-on: https://gerrit.libreoffice.org/65289
    Tested-by: Jenkins
    Reviewed-by: Miklos Vajna <vmiklos at collabora.com>
    (cherry picked from commit dafbc86037d63e938967c0f501bdfe3ae19fa992)
    Reviewed-on: https://gerrit.libreoffice.org/65414
    Tested-by: Xisco Faulí <xiscofauli at libreoffice.org>
    Reviewed-by: Michael Stahl <Michael.Stahl at cib.de>
    (cherry picked from commit ba7435e5914a713730265c3378ce616de543667f)
    
    Change-Id: I87481bc9c26651fd15dd39a58a92f467e8311256

diff --git a/oox/source/drawingml/textcharacterpropertiescontext.cxx b/oox/source/drawingml/textcharacterpropertiescontext.cxx
index 8ab160755531..8c3ec28eefa3 100644
--- a/oox/source/drawingml/textcharacterpropertiescontext.cxx
+++ b/oox/source/drawingml/textcharacterpropertiescontext.cxx
@@ -203,6 +203,17 @@ ContextHandlerRef TextCharacterPropertiesContext::onCreateContext( sal_Int32 aEl
                     mrTextCharacterProperties.moCaseMap = XML_none;
             }
             break;
+        case W_TOKEN(vertAlign):
+        {
+            // Map wordprocessingML <w:vertAlign w:val="..."/> to drawingML
+            // <a:rPr baseline="...">.
+            sal_Int32 nVal = rAttribs.getToken(W_TOKEN(val), 0);
+            if (nVal == XML_superscript)
+                mrTextCharacterProperties.moBaseline = 30000;
+            else if (nVal == XML_subscript)
+                mrTextCharacterProperties.moBaseline = -25000;
+            break;
+        }
         case OOX_TOKEN(w14, glow):
         case OOX_TOKEN(w14, shadow):
         case OOX_TOKEN(w14, reflection):
commit 1822bb92ca3e48f2397e80cf06327944557d13cb
Author:     Michael Stahl <Michael.Stahl at cib.de>
AuthorDate: Tue Jan 15 17:05:00 2019 +0100
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Jan 17 14:55:37 2019 +0100

    lcms2: upgrade to release 2.9
    
    ... at least, that's the plan - this is harder than it appears, as the
    upstream maintainer appears to have released version 2.9 at least 3
    times:
    
    - Fedora has a file evidently downloaded before Nov. 17 with SHA512 of e30ad5a9a1ab9e7aaace9431434caa19a5ff6143db46644aba971a5ee37a265b26bf738e886d766405a7eb45a9d620d67c7ab3684ace86a107cf5a76642c04a5
    - Gentoo has a file evidently downloaded before Nov. 19 with SHA256 of d4ad6f8718f7f9dc8b2a3276c9f237aa3f5eccdcf98b86dedc4262d8a1e7f009
    - Debian has a file evidently downloaded before Dec. 17 with SHA256 of 48c6fdf98396fa245ed86e622028caf49b96fa22f3e5734f853f806fbc8e7d20
    
    The lcms2-2.9.tar.gz available from sourceforge currently matches the
    one Debian has, so let's use it.
    
    * 0017-Upgrade-Visual-studio-2017-15.8.patch added (fixing CVE-2018-16435)
    * 0001-Added-an-extra-check-to-MLU-bounds.patch.1 removed (fixed upstream)
    
    Reviewed-on: https://gerrit.libreoffice.org/66400
    Tested-by: Jenkins
    Reviewed-by: Michael Stahl <Michael.Stahl at cib.de>
    (cherry picked from commit 99b20e589e64fbcf374d84ae68911ef2a96e537c)
    Reviewed-on: https://gerrit.libreoffice.org/66428
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>
    (cherry picked from commit 5d6a91c4df0ea51bb32794ff6068fa19bda44307)
    
    Change-Id: Iab8dada8f6d77d5b2da8560993380b3332bc02f6

diff --git a/download.lst b/download.lst
index 2a867282ae0c..27b384a35195 100644
--- a/download.lst
+++ b/download.lst
@@ -154,8 +154,8 @@ export LANGTAGREG_SHA256SUM := b7ad618b7db518155f00490a11b861496864f18b23b4b537e
 export LANGTAGREG_TARBALL := language-subtag-registry-2018-03-30.tar.bz2
 export LANGUAGETOOL_SHA256SUM := 48c87e41636783bba438b65fd895821e369ed139e1465fac654323ad93c5a82d
 export LANGUAGETOOL_TARBALL := b63e6340a02ff1cacfeadb2c42286161-JLanguageTool-1.7.0.tar.bz2
-export LCMS2_SHA256SUM := 66d02b229d2ea9474e62c2b6cd6720fde946155cd1d0d2bffdab829790a0fb22
-export LCMS2_TARBALL := lcms2-2.8.tar.gz
+export LCMS2_SHA256SUM := 48c6fdf98396fa245ed86e622028caf49b96fa22f3e5734f853f806fbc8e7d20
+export LCMS2_TARBALL := lcms2-2.9.tar.gz
 export LIBASSUAN_SHA256SUM := 22843a3bdb256f59be49842abf24da76700354293a066d82ade8134bb5aa2b71
 export LIBASSUAN_TARBALL := libassuan-2.4.3.tar.bz2
 export LIBATOMIC_OPS_SHA256SUM := cf5c52f08a2067ae4fe7c8919e3c1ccf3ee917f1749e0bcc7efffff59c68d9ad
diff --git a/external/lcms2/0001-Added-an-extra-check-to-MLU-bounds.patch.1 b/external/lcms2/0001-Added-an-extra-check-to-MLU-bounds.patch.1
deleted file mode 100644
index 913f82887cb2..000000000000
--- a/external/lcms2/0001-Added-an-extra-check-to-MLU-bounds.patch.1
+++ /dev/null
@@ -1,25 +0,0 @@
-From 5ca71a7bc18b6897ab21d815d15e218e204581e2 Mon Sep 17 00:00:00 2001
-From: Marti <marti.maria at tktbrainpower.com>
-Date: Mon, 15 Aug 2016 23:31:39 +0200
-Subject: [PATCH] Added an extra check to MLU bounds
-
-Thanks to Ibrahim el-sayed for spotting the bug
----
- src/cmstypes.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/cmstypes.c b/src/cmstypes.c
-index cb61860..c7328b9 100644
---- a/src/cmstypes.c
-+++ b/src/cmstypes.c
-@@ -1460,6 +1460,7 @@ void *Type_MLU_Read(struct _cms_typehandler_struct* self, cmsIOHANDLER* io, cmsU
- 
-         // Check for overflow
-         if (Offset < (SizeOfHeader + 8)) goto Error;
-+        if ((Offset + Len) > SizeOfTag + 8) goto Error;
- 
-         // True begin of the string
-         BeginOfThisString = Offset - SizeOfHeader - 8;
--- 
-2.7.4
-
diff --git a/external/lcms2/0017-Upgrade-Visual-studio-2017-15.8.patch.1 b/external/lcms2/0017-Upgrade-Visual-studio-2017-15.8.patch.1
new file mode 100644
index 000000000000..f616e6d38239
--- /dev/null
+++ b/external/lcms2/0017-Upgrade-Visual-studio-2017-15.8.patch.1
@@ -0,0 +1,172 @@
+From 768f70ca405cd3159d990e962d54456773bb8cf8 Mon Sep 17 00:00:00 2001
+From: Marti Maria <info at littlecms.com>
+Date: Wed, 15 Aug 2018 20:07:56 +0200
+Subject: [PATCH 17/18] Upgrade Visual studio 2017 15.8
+
+- Upgrade to 15.8
+- Add check on CGATS memory allocation (thanks to Quang Nguyen for
+pointing out this)
+---
+ Projects/VC2017/jpegicc/jpegicc.vcxproj           |  1 +
+ Projects/VC2017/lcms2_DLL/lcms2_DLL.vcxproj       |  2 +-
+ Projects/VC2017/lcms2_static/lcms2_static.vcxproj |  2 +-
+ Projects/VC2017/linkicc/linkicc.vcxproj           |  2 +-
+ Projects/VC2017/psicc/psicc.vcxproj               |  2 +-
+ Projects/VC2017/testbed/testbed.vcxproj           |  2 +-
+ Projects/VC2017/tiffdiff/tiffdiff.vcxproj         |  2 +-
+ Projects/VC2017/tifficc/tifficc.vcxproj           |  2 +-
+ Projects/VC2017/transicc/transicc.vcxproj         |  1 +
+ src/cmscgats.c                                    | 14 ++++++++++----
+ 10 files changed, 19 insertions(+), 11 deletions(-)
+
+diff --git a/Projects/VC2017/jpegicc/jpegicc.vcxproj b/Projects/VC2017/jpegicc/jpegicc.vcxproj
+index ab26a53..39cfd00 100644
+--- a/Projects/VC2017/jpegicc/jpegicc.vcxproj
++++ b/Projects/VC2017/jpegicc/jpegicc.vcxproj
+@@ -22,6 +22,7 @@
+     <ProjectGuid>{62812507-F926-4968-96A9-17678460AD90}</ProjectGuid>
+     <RootNamespace>jpegicc</RootNamespace>
+     <Keyword>Win32Proj</Keyword>
++    <WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
+   </PropertyGroup>
+   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+diff --git a/Projects/VC2017/lcms2_DLL/lcms2_DLL.vcxproj b/Projects/VC2017/lcms2_DLL/lcms2_DLL.vcxproj
+index 4c8aa3f..d1bf3eb 100644
+--- a/Projects/VC2017/lcms2_DLL/lcms2_DLL.vcxproj
++++ b/Projects/VC2017/lcms2_DLL/lcms2_DLL.vcxproj
+@@ -22,7 +22,7 @@
+     <ProjectGuid>{8C51BE48-ADB8-4089-A9EC-F6BF993A0548}</ProjectGuid>
+     <RootNamespace>lcms2_DLL</RootNamespace>
+     <Keyword>Win32Proj</Keyword>
+-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
++    <WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
+   </PropertyGroup>
+   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+diff --git a/Projects/VC2017/lcms2_static/lcms2_static.vcxproj b/Projects/VC2017/lcms2_static/lcms2_static.vcxproj
+index 2a9988a..9fc05ce 100644
+--- a/Projects/VC2017/lcms2_static/lcms2_static.vcxproj
++++ b/Projects/VC2017/lcms2_static/lcms2_static.vcxproj
+@@ -22,7 +22,7 @@
+     <ProjectGuid>{71DEDE59-3F1E-486B-A899-4283000F76B5}</ProjectGuid>
+     <RootNamespace>lcms2_static</RootNamespace>
+     <Keyword>Win32Proj</Keyword>
+-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
++    <WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
+   </PropertyGroup>
+   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+diff --git a/Projects/VC2017/linkicc/linkicc.vcxproj b/Projects/VC2017/linkicc/linkicc.vcxproj
+index 30c2b4e..51586dd 100644
+--- a/Projects/VC2017/linkicc/linkicc.vcxproj
++++ b/Projects/VC2017/linkicc/linkicc.vcxproj
+@@ -22,7 +22,7 @@
+     <ProjectGuid>{FBFBE1DC-DB84-4BA1-9552-B4780F457849}</ProjectGuid>
+     <RootNamespace>linkicc</RootNamespace>
+     <Keyword>Win32Proj</Keyword>
+-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
++    <WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
+   </PropertyGroup>
+   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+diff --git a/Projects/VC2017/psicc/psicc.vcxproj b/Projects/VC2017/psicc/psicc.vcxproj
+index 9dcf89a..8f26e12 100644
+--- a/Projects/VC2017/psicc/psicc.vcxproj
++++ b/Projects/VC2017/psicc/psicc.vcxproj
+@@ -22,7 +22,7 @@
+     <ProjectGuid>{EF6A8851-65FE-46F5-B9EF-14F0B671F693}</ProjectGuid>
+     <RootNamespace>psicc</RootNamespace>
+     <Keyword>Win32Proj</Keyword>
+-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
++    <WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
+   </PropertyGroup>
+   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+diff --git a/Projects/VC2017/testbed/testbed.vcxproj b/Projects/VC2017/testbed/testbed.vcxproj
+index 0af3762..3f6aea3 100644
+--- a/Projects/VC2017/testbed/testbed.vcxproj
++++ b/Projects/VC2017/testbed/testbed.vcxproj
+@@ -22,7 +22,7 @@
+     <ProjectGuid>{928A3A2B-46EF-4279-959C-513B3652FF0E}</ProjectGuid>
+     <RootNamespace>testbed</RootNamespace>
+     <Keyword>Win32Proj</Keyword>
+-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
++    <WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
+   </PropertyGroup>
+   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+diff --git a/Projects/VC2017/tiffdiff/tiffdiff.vcxproj b/Projects/VC2017/tiffdiff/tiffdiff.vcxproj
+index 7edfe28..3a6d837 100644
+--- a/Projects/VC2017/tiffdiff/tiffdiff.vcxproj
++++ b/Projects/VC2017/tiffdiff/tiffdiff.vcxproj
+@@ -22,7 +22,7 @@
+     <ProjectGuid>{75B91835-CCD7-48BE-A606-A9C997D5DBEE}</ProjectGuid>
+     <RootNamespace>tiffdiff</RootNamespace>
+     <Keyword>Win32Proj</Keyword>
+-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
++    <WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
+   </PropertyGroup>
+   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+diff --git a/Projects/VC2017/tifficc/tifficc.vcxproj b/Projects/VC2017/tifficc/tifficc.vcxproj
+index cd9f04c..5ef954f 100644
+--- a/Projects/VC2017/tifficc/tifficc.vcxproj
++++ b/Projects/VC2017/tifficc/tifficc.vcxproj
+@@ -22,7 +22,7 @@
+     <ProjectGuid>{2256DE16-ED92-4A6F-9C54-F65BB61E64A2}</ProjectGuid>
+     <RootNamespace>tifficc</RootNamespace>
+     <Keyword>Win32Proj</Keyword>
+-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
++    <WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
+   </PropertyGroup>
+   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+diff --git a/Projects/VC2017/transicc/transicc.vcxproj b/Projects/VC2017/transicc/transicc.vcxproj
+index d9b77c6..b3173d8 100644
+--- a/Projects/VC2017/transicc/transicc.vcxproj
++++ b/Projects/VC2017/transicc/transicc.vcxproj
+@@ -22,6 +22,7 @@
+     <ProjectGuid>{9EE22D66-C849-474C-9ED5-C3E141DAB160}</ProjectGuid>
+     <RootNamespace>transicc</RootNamespace>
+     <Keyword>Win32Proj</Keyword>
++    <WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
+   </PropertyGroup>
+   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+diff --git a/src/cmscgats.c b/src/cmscgats.c
+index 1a87613..8c3e96d 100644
+--- a/src/cmscgats.c
++++ b/src/cmscgats.c
+@@ -1,7 +1,7 @@
+ //---------------------------------------------------------------------------------
+ //
+ //  Little Color Management System
+-//  Copyright (c) 1998-2017 Marti Maria Saguer
++//  Copyright (c) 1998-2018 Marti Maria Saguer
+ //
+ // Permission is hereby granted, free of charge, to any person obtaining
+ // a copy of this software and associated documentation files (the "Software"),
+@@ -1506,10 +1506,16 @@ void AllocateDataSet(cmsIT8* it8)
+     t-> nSamples   = atoi(cmsIT8GetProperty(it8, "NUMBER_OF_FIELDS"));
+     t-> nPatches   = atoi(cmsIT8GetProperty(it8, "NUMBER_OF_SETS"));
+ 
+-    t-> Data = (char**)AllocChunk (it8, ((cmsUInt32Number) t->nSamples + 1) * ((cmsUInt32Number) t->nPatches + 1) *sizeof (char*));
+-    if (t->Data == NULL) {
++    if (t -> nSamples < 0 || t->nSamples > 0x7ffe || t->nPatches < 0 || t->nPatches > 0x7ffe)
++    {
++        SynError(it8, "AllocateDataSet: too much data");
++    }
++    else {
++        t->Data = (char**)AllocChunk(it8, ((cmsUInt32Number)t->nSamples + 1) * ((cmsUInt32Number)t->nPatches + 1) * sizeof(char*));
++        if (t->Data == NULL) {
+ 
+-        SynError(it8, "AllocateDataSet: Unable to allocate data array");
++            SynError(it8, "AllocateDataSet: Unable to allocate data array");
++        }
+     }
+ 
+ }
+-- 
+2.17.1
+
diff --git a/external/lcms2/UnpackedTarball_lcms2.mk b/external/lcms2/UnpackedTarball_lcms2.mk
index 01d04802c739..c5e1839cfccc 100644
--- a/external/lcms2/UnpackedTarball_lcms2.mk
+++ b/external/lcms2/UnpackedTarball_lcms2.mk
@@ -16,9 +16,9 @@ $(eval $(call gb_UnpackedTarball_update_autoconf_configs,lcms2))
 $(eval $(call gb_UnpackedTarball_set_patchlevel,lcms2,3))
 
 $(eval $(call gb_UnpackedTarball_add_patches,lcms2,\
+	external/lcms2/0017-Upgrade-Visual-studio-2017-15.8.patch.1 \
 	external/lcms2/lcms2-2.4-windows.patch \
 	external/lcms2/lcms2-msvc-disable-sse2.patch.1 \
-	external/lcms2/0001-Added-an-extra-check-to-MLU-bounds.patch.1 \
 	external/lcms2/c++17.patch.0 \
 ))
 
commit ae44bd39c74e90a664886fb0c2544fa58c3e0fea
Author:     Michael Stahl <Michael.Stahl at cib.de>
AuthorDate: Mon Jan 14 15:08:42 2019 +0100
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Jan 17 14:54:00 2019 +0100

    sdext: fix build with poppler 0.73
    
    ... which has removed Guchar, Gushort, Guint, Gulong...
    
    Change-Id: Ia54ad378031f167f6779f6ffe574b85c1e72f26d
    Reviewed-on: https://gerrit.libreoffice.org/66305
    Tested-by: Jenkins
    Reviewed-by: Michael Stahl <Michael.Stahl at cib.de>
    (cherry picked from commit 50d371ae08c66648d9f32f633b2245e1746e2bb6)
    Reviewed-on: https://gerrit.libreoffice.org/66363
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>
    (cherry picked from commit b5698ac28a8a79105edf28ffc1db19bbcbecda3a)

diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
index eb6815399f42..cd6a5b65e30a 100644
--- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
+++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
@@ -310,7 +310,7 @@ void writePpm_( OutputBuffer&     o_rOutputBuf,
     o_rOutputBuf.resize(header_size);
 
     // initialize stream
-    Guchar *p;
+    unsigned char *p;
     GfxRGB rgb;
     std::unique_ptr<ImageStream> imgStr(
         new ImageStream(str,
@@ -415,7 +415,7 @@ void writeImage_( OutputBuffer&     o_rOutputBuf,
                 oneColor = { byteToCol( 0xff ), byteToCol( 0xff ), byteToCol( 0xff ) };
         if( colorMap->getColorSpace()->getMode() == csIndexed || colorMap->getColorSpace()->getMode() == csDeviceGray )
         {
-            Guchar nIndex = 0;
+            unsigned char nIndex = 0;
             colorMap->getRGB( &nIndex, &zeroColor );
             nIndex = 1;
             colorMap->getRGB( &nIndex, &oneColor );
diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx
index 4e2d303b943b..95d8befdc55b 100644
--- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx
+++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx
@@ -289,9 +289,13 @@ extern FILE* g_binary_out;
 
 // note: if you ever change Output_t, please keep in mind that the current code
 // relies on it being of 8 bit size
-typedef Guchar Output_t;
+typedef unsigned char Output_t;
 typedef std::vector< Output_t > OutputBuffer;
 
+#if !POPPLER_CHECK_VERSION(0, 73, 0)
+static_assert(std::is_same<Guchar, unsigned char>::value, "unexpected typedef");
+#endif
+
 #endif // INCLUDED_SDEXT_SOURCE_PDFIMPORT_XPDFWRAPPER_PDFIOUTDEV_GPL_HXX
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sdext/source/pdfimport/xpdfwrapper/pnghelper.cxx b/sdext/source/pdfimport/xpdfwrapper/pnghelper.cxx
index 3caed120648e..be778708a54f 100644
--- a/sdext/source/pdfimport/xpdfwrapper/pnghelper.cxx
+++ b/sdext/source/pdfimport/xpdfwrapper/pnghelper.cxx
@@ -242,7 +242,7 @@ void PngHelper::createPng( OutputBuffer& o_rOutputBuf,
     appendIHDR( o_rOutputBuf, width, height, 8, 6 ); // RGBA image
 
     // initialize stream
-    Guchar *p, *pm;
+    unsigned char *p, *pm;
     GfxRGB rgb;
     GfxGray alpha;
     ImageStream* imgStr =
@@ -328,7 +328,7 @@ void PngHelper::createPng( OutputBuffer& o_rOutputBuf,
     appendIHDR( o_rOutputBuf, width, height, 8, 6 ); // RGBA image
 
     // initialize stream
-    Guchar *p;
+    unsigned char *p;
     GfxRGB rgb;
     ImageStream* imgStr =
         new ImageStream(str,
@@ -374,7 +374,7 @@ void PngHelper::createPng( OutputBuffer& o_rOutputBuf,
     {
         for( int x = 0; x < maskWidth; ++x )
         {
-            Guchar aPixel = 0;
+            unsigned char aPixel = 0;
             imgStrMask->getPixel( &aPixel );
             int nIndex = (y*height/maskHeight) * (width*4+1) + // mapped line
                          (x*width/maskWidth)*4 + 1  + 3        // mapped column
commit 6f7b16d57d4101fa7d6731234cff206e7b587dd0
Author:     Andreas Sturmlechner <asturm at gentoo.org>
AuthorDate: Tue Jan 8 11:24:40 2019 +0100
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Jan 17 14:53:38 2019 +0100

    Fix build with poppler-0.72
    
    Change-Id: I0664d1b39e97b7555c0a3cba442db52b84f37134
    Reviewed-on: https://gerrit.libreoffice.org/65960
    Tested-by: Jenkins
    Reviewed-by: Michael Stahl <Michael.Stahl at cib.de>
    (cherry picked from commit 65a6c9ae4791188ffcecf489073cf38873ce5e17)
    Reviewed-on: https://gerrit.libreoffice.org/66376
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>
    (cherry picked from commit a5a188d5bbb99f6e305dad6f81b9e3760aa32676)

diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
index e7c021e2ed49..eb6815399f42 100644
--- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
+++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
@@ -569,7 +569,11 @@ void PDFOutDev::processLink(Link* link, Catalog*)
     LinkAction* pAction = link->getAction();
     if (pAction && pAction->getKind() == actionURI)
     {
+#if POPPLER_CHECK_VERSION(0, 72, 0)
+        const char* pURI = static_cast<LinkURI*>(pAction)->getURI()->c_str();
+#else
         const char* pURI = static_cast<LinkURI*>(pAction)->getURI()->getCString();
+#endif
 
         std::vector<char> aEsc( lcl_escapeLineFeeds(pURI) );
 
@@ -771,7 +775,11 @@ void PDFOutDev::updateFont(GfxState *state)
 
             aFont = it->second;
 
+#if POPPLER_CHECK_VERSION(0, 72, 0)
+            std::vector<char> aEsc( lcl_escapeLineFeeds(aFont.familyName.c_str()) );
+#else
             std::vector<char> aEsc( lcl_escapeLineFeeds(aFont.familyName.getCString()) );
+#endif
             printf( " %d %d %d %d %f %d %s",
                     aFont.isEmbedded,
                     aFont.isBold,
commit 8968694ab8e6db0f4df92bb1be0f3fb030f0f772
Author:     Aleksei Nikiforov <darktemplar at basealt.ru>
AuthorDate: Thu Nov 22 17:54:00 2018 +0300
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Jan 17 14:53:22 2019 +0100

    Fix build with poppler 0.71
    
    Change-Id: I470ece9dc4766e10e1ccb5e99b25a8d8cc4cbf38
    Reviewed-on: https://gerrit.libreoffice.org/63860
    Tested-by: Jenkins
    Reviewed-by: Stephan Bergmann <sbergman at redhat.com>
    (cherry picked from commit 8ff41a26caf51544699863c89598d37d93dc1b21)
    Reviewed-on: https://gerrit.libreoffice.org/66375
    Reviewed-by: Aleksei Nikiforov <darktemplar at basealt.ru>
    Reviewed-by: Michael Stahl <Michael.Stahl at cib.de>
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>
    (cherry picked from commit 704ff8be10ecfb39be064bd08b2f9c11312e3428)

diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
index abde6a8c9936..e7c021e2ed49 100644
--- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
+++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
@@ -592,7 +592,11 @@ void PDFOutDev::restoreState(GfxState*)
     printf( "restoreState\n" );
 }
 
+#if POPPLER_CHECK_VERSION(0, 71, 0)
+void PDFOutDev::setDefaultCTM(const double *pMat)
+#else
 void PDFOutDev::setDefaultCTM(double *pMat)
+#endif
 {
     assert(pMat);
 
diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx
index 97c602dafc7c..4e2d303b943b 100644
--- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx
+++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx
@@ -172,7 +172,11 @@ namespace pdfi
         //----- initialization and control
 
         // Set default transform matrix.
+#if POPPLER_CHECK_VERSION(0, 71, 0)
+        virtual void setDefaultCTM(const double *ctm) override;
+#else
         virtual void setDefaultCTM(double *ctm) override;
+#endif
 
         // Start a page.
         virtual void startPage(int pageNum, GfxState *state
diff --git a/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx b/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx
index b536a710e832..f2049a6a6e48 100644
--- a/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx
+++ b/sdext/source/pdfimport/xpdfwrapper/wrapper_gpl.cxx
@@ -69,7 +69,7 @@ int main(int argc, char **argv)
 
     // read config file
     globalParams = new GlobalParams();
-    globalParams->setErrQuiet(gTrue);
+    globalParams->setErrQuiet(true);
 #if defined(_MSC_VER)
     globalParams->setupBaseFonts(nullptr);
 #endif
@@ -145,7 +145,7 @@ int main(int argc, char **argv)
                 i,
                 PDFI_OUTDEV_RESOLUTION,
                 PDFI_OUTDEV_RESOLUTION,
-                0, gTrue, gTrue, gTrue);
+                0, true, true, true);
         rDoc.processLinks(&aOutDev, i);
     }
 
commit a92c6735023adbaa32ccdb31d06662353ccdc70a
Author:     Mike Kaganski <mike.kaganski at collabora.com>
AuthorDate: Tue Nov 20 08:45:38 2018 +0100
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Jan 17 14:52:46 2019 +0100

    poppler dropped GBool since 0.71
    
    See https://lists.freedesktop.org/archives/libreoffice/2018-November/081410.html
    
    Change-Id: I258e08894486a925bed50a3a4232b6e805af6784
    Reviewed-on: https://gerrit.libreoffice.org/63625
    Tested-by: Jenkins
    Reviewed-by: Stephan Bergmann <sbergman at redhat.com>
    (cherry picked from commit 5e8bdd9203dd642111c62a6668ee665a20d4ba19)
    Reviewed-on: https://gerrit.libreoffice.org/66374
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>
    (cherry picked from commit c85bd2c443b9a509b028a90ee9e766929e63089f)

diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
index 9618e5b2a28f..abde6a8c9936 100644
--- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
+++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
@@ -528,7 +528,7 @@ void PDFOutDev::printPath( GfxPath* pPath )
 PDFOutDev::PDFOutDev( PDFDoc* pDoc ) :
     m_pDoc( pDoc ),
     m_aFontMap(),
-    m_pUtf8Map( new UnicodeMap("UTF-8", gTrue, &mapUTF8) ),
+    m_pUtf8Map( new UnicodeMap("UTF-8", true, &mapUTF8) ),
     m_bSkipImages(false)
 {
 }
@@ -953,11 +953,11 @@ void PDFOutDev::endTextObject(GfxState*)
 }
 
 void PDFOutDev::drawImageMask(GfxState* pState, Object*, Stream* str,
-                              int width, int height, GBool invert,
+                              int width, int height, poppler_bool invert,
 #if POPPLER_CHECK_VERSION(0, 12, 0)
-                              GBool /*interpolate*/,
+                              poppler_bool /*interpolate*/,
 #endif
-                              GBool /*inlineImg*/ )
+                              poppler_bool /*inlineImg*/ )
 {
     if (m_bSkipImages)
         return;
@@ -986,9 +986,9 @@ void PDFOutDev::drawImageMask(GfxState* pState, Object*, Stream* str,
 void PDFOutDev::drawImage(GfxState*, Object*, Stream* str,
                           int width, int height, GfxImageColorMap* colorMap,
 #if POPPLER_CHECK_VERSION(0, 12, 0)
-                          GBool /*interpolate*/,
+                          poppler_bool /*interpolate*/,
 #endif
-                          int* maskColors, GBool /*inlineImg*/ )
+                          int* maskColors, poppler_bool /*inlineImg*/ )
 {
     if (m_bSkipImages)
         return;
@@ -1037,13 +1037,13 @@ void PDFOutDev::drawMaskedImage(GfxState*, Object*, Stream* str,
                                 int width, int height,
                                 GfxImageColorMap* colorMap,
 #if POPPLER_CHECK_VERSION(0, 12, 0)
-                                GBool /*interpolate*/,
+                                poppler_bool /*interpolate*/,
 #endif
                                 Stream* maskStr,
                                 int maskWidth, int maskHeight,
-                                GBool maskInvert
+                                poppler_bool maskInvert
 #if POPPLER_CHECK_VERSION(0, 12, 0)
-                                , GBool /*maskInterpolate*/
+                                , poppler_bool /*maskInterpolate*/
 #endif
                                )
 {
@@ -1059,13 +1059,13 @@ void PDFOutDev::drawSoftMaskedImage(GfxState*, Object*, Stream* str,
                                     int width, int height,
                                     GfxImageColorMap* colorMap,
 #if POPPLER_CHECK_VERSION(0, 12, 0)
-                                    GBool /*interpolate*/,
+                                    poppler_bool /*interpolate*/,
 #endif
                                     Stream* maskStr,
                                     int maskWidth, int maskHeight,
                                     GfxImageColorMap* maskColorMap
 #if POPPLER_CHECK_VERSION(0, 12, 0)
-                                    , GBool /*maskInterpolate*/
+                                    , poppler_bool /*maskInterpolate*/
 #endif
                                    )
 {
diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx
index 2a6268c0ba1d..97c602dafc7c 100644
--- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx
+++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx
@@ -129,6 +129,13 @@ namespace pdfi
         { return const_cast<GooString &>(familyName); }
     };
 
+    // Versions before 0.15 defined GBool as int; 0.15 redefined it as bool; 0.71 dropped GBool
+#if POPPLER_VERSION_MAJOR == 0 && POPPLER_VERSION_MINOR < 71
+    typedef GBool poppler_bool;
+#else
+    typedef bool poppler_bool;
+#endif
+
     class PDFOutDev : public OutputDev
     {
         // not owned by this class
@@ -150,17 +157,17 @@ namespace pdfi
 
         // Does this device use upside-down coordinates?
         // (Upside-down means (0,0) is the top left corner of the page.)
-        virtual GBool upsideDown() override { return gTrue; }
+        virtual poppler_bool upsideDown() override { return true; }
 
         // Does this device use drawChar() or drawString()?
-        virtual GBool useDrawChar() override { return gTrue; }
+        virtual poppler_bool useDrawChar() override { return true; }
 
         // Does this device use beginType3Char/endType3Char?  Otherwise,
         // text in Type 3 fonts will be drawn with drawChar/drawString.
-        virtual GBool interpretType3Chars() override { return gFalse; }
+        virtual poppler_bool interpretType3Chars() override { return false; }
 
         // Does this device need non-text content?
-        virtual GBool needNonText() override { return gTrue; }
+        virtual poppler_bool needNonText() override { return true; }
 
         //----- initialization and control
 
@@ -232,40 +239,40 @@ namespace pdfi
 
         //----- image drawing
         virtual void drawImageMask(GfxState *state, Object *ref, Stream *str,
-                                   int width, int height, GBool invert,
+                                   int width, int height, poppler_bool invert,
 #if POPPLER_CHECK_VERSION(0, 12, 0)
-                                   GBool interpolate,
+                                   poppler_bool interpolate,
 #endif
-                                   GBool inlineImg) override;
+                                   poppler_bool inlineImg) override;
         virtual void drawImage(GfxState *state, Object *ref, Stream *str,
                                int width, int height, GfxImageColorMap *colorMap,
 #if POPPLER_CHECK_VERSION(0, 12, 0)
-                               GBool interpolate,
+                               poppler_bool interpolate,
 #endif
-                               int *maskColors, GBool inlineImg) override;
+                               int *maskColors, poppler_bool inlineImg) override;
         virtual void drawMaskedImage(GfxState *state, Object *ref, Stream *str,
                                      int width, int height,
                                      GfxImageColorMap *colorMap,
 #if POPPLER_CHECK_VERSION(0, 12, 0)
-                                     GBool interpolate,
+                                     poppler_bool interpolate,
 #endif
                                      Stream *maskStr, int maskWidth, int maskHeight,
-                                     GBool maskInvert
+                                     poppler_bool maskInvert
 #if POPPLER_CHECK_VERSION(0, 12, 0)
-                                     , GBool maskInterpolate
+                                     , poppler_bool maskInterpolate
 #endif
                                     ) override;
         virtual void drawSoftMaskedImage(GfxState *state, Object *ref, Stream *str,
                                          int width, int height,
                                          GfxImageColorMap *colorMap,
 #if POPPLER_CHECK_VERSION(0, 12, 0)
-                                         GBool interpolate,
+                                         poppler_bool interpolate,
 #endif
                                          Stream *maskStr,
                                          int maskWidth, int maskHeight,
                                          GfxImageColorMap *maskColorMap
 #if POPPLER_CHECK_VERSION(0, 12, 0)
-                                         , GBool maskInterpolate
+                                         , poppler_bool maskInterpolate
 #endif
                                         ) override;
 
commit a2a5b29c2180f3128c20bf77eb3d9c7840c61551
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Mon Jan 14 09:48:43 2019 +0000
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Jan 17 14:52:12 2019 +0100

    Resolves: tdf#122701 opengl settings don't affect gtk3
    
    Change-Id: Iffcf9b6ea8d191a509c2ca451f2ce4a249fde922
    Reviewed-on: https://gerrit.libreoffice.org/66292
    Tested-by: Jenkins
    Reviewed-by: Mike Kaganski <mike.kaganski at collabora.com>
    (cherry picked from commit aa15463a2f303ab75679eefa4d8241f2b700684e)
    Reviewed-on: https://gerrit.libreoffice.org/66389
    Reviewed-by: Adolfo Jayme Barrientos <fitojb at ubuntu.com>
    (cherry picked from commit 390ad702841fd247061377c044df446a7b2c587d)

diff --git a/cui/source/options/optgdlg.cxx b/cui/source/options/optgdlg.cxx
index 38acc1d22b4f..2a11f9501bbc 100644
--- a/cui/source/options/optgdlg.cxx
+++ b/cui/source/options/optgdlg.cxx
@@ -521,7 +521,7 @@ CanvasSettings::CanvasSettings() :
 bool CanvasSettings::IsHardwareAccelerationAvailable() const
 {
 #if HAVE_FEATURE_OPENGL
-    if( OpenGLWrapper::isVCLOpenGLEnabled() )
+    if (OpenGLWrapper::isVCLOpenGLEnabled() && Application::GetToolkitName() != "gtk3")
         mbHWAccelAvailable = false;
 
     else
commit 4a328036a8153922988cc1a730534c1a2c1542a8
Author:     Julien Nabet <serval2412 at yahoo.fr>
AuthorDate: Sun Dec 30 13:10:30 2018 +0100
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Jan 17 14:50:48 2019 +0100

    tdf#112782: data-pilot-source is invalid in odf1.2 strict
    
    Change-Id: Ie24c416cb9ba8de904bf6e725a60b62ce7787596
    Reviewed-on: https://gerrit.libreoffice.org/65742
    (cherry picked from commit 18b9f23f13fd503e94d669ab80b5d2354d1817a1)
    Reviewed-on: https://gerrit.libreoffice.org/65885
    Tested-by: Jenkins
    Reviewed-by: Michael Stahl <Michael.Stahl at cib.de>
    (cherry picked from commit 6aa9f0980612d5c7dcc02cfe11babb73605be4ca)

diff --git a/xmloff/source/chart/SchXMLExport.cxx b/xmloff/source/chart/SchXMLExport.cxx
index 29ef4d2a431b..3d493c45c531 100644
--- a/xmloff/source/chart/SchXMLExport.cxx
+++ b/xmloff/source/chart/SchXMLExport.cxx
@@ -1203,7 +1203,7 @@ void SchXMLExportHelper_Impl::parseDocument( Reference< chart::XChartDocument >
         }
 
         Reference<chart2::data::XPivotTableDataProvider> xPivotTableDataProvider(xNewDoc->getDataProvider(), uno::UNO_QUERY);
-        if (xPivotTableDataProvider.is())
+        if (xPivotTableDataProvider.is() && nCurrentODFVersion > SvtSaveOptions::ODFVER_012)
         {
             OUString sPivotTableName = xPivotTableDataProvider->getPivotTableName();
             mrExport.AddAttribute(XML_NAMESPACE_LO_EXT, XML_DATA_PILOT_SOURCE, sPivotTableName);
commit 42b6b9a5934dbf55d963dc6a3d9afdd4c202da19
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Wed Dec 5 13:22:44 2018 +0000
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Jan 17 14:50:02 2019 +0100

    tdf#119126 forcepoint#76 avoid deleting footnote that would delete ...
    
    ... undeletable page
    
    (cherry picked from commit 0005b330eaed0b5559042d2597fb45e0c9125d7e)
    
    Conflicts:
            sw/qa/extras/layout/layout.cxx
    
    Reviewed-on: https://gerrit.libreoffice.org/66393
    Tested-by: Xisco Faulí <xiscofauli at libreoffice.org>
    Reviewed-by: Miklos Vajna <vmiklos at collabora.com>
    (cherry picked from commit 558f01a29cb640760e73724f6efdc0a1be20c8e3)
    
    Change-Id: I4622569eb9c757c6dcbdda32081ddc94e53db919

diff --git a/sw/source/core/inc/frame.hxx b/sw/source/core/inc/frame.hxx
index 5d84ca5198a4..0e1f1fd7ae84 100644
--- a/sw/source/core/inc/frame.hxx
+++ b/sw/source/core/inc/frame.hxx
@@ -841,7 +841,7 @@ public:
     bool IsProtected() const;
 
     bool IsColLocked()  const { return mbColLocked; }
-    bool IsDeleteForbidden()  const { return mbForbidDelete; }
+    virtual bool IsDeleteForbidden() const { return mbForbidDelete; }
 
     /// this is the only way to delete a SwFrame instance
     static void DestroyFrame(SwFrame *const pFrame);
diff --git a/sw/source/core/inc/ftnfrm.hxx b/sw/source/core/inc/ftnfrm.hxx
index 3d3fbb38171b..9186a89737f2 100644
--- a/sw/source/core/inc/ftnfrm.hxx
+++ b/sw/source/core/inc/ftnfrm.hxx
@@ -68,6 +68,7 @@ class SwFootnoteFrame: public SwLayoutFrame
 public:
     SwFootnoteFrame( SwFrameFormat*, SwFrame*, SwContentFrame*, SwTextFootnote* );
 
+    virtual bool IsDeleteForbidden() const override;
     virtual void Cut() override;
     virtual void Paste( SwFrame* pParent, SwFrame* pSibling = nullptr ) override;
 
diff --git a/sw/source/core/layout/calcmove.cxx b/sw/source/core/layout/calcmove.cxx
index de694019e1bd..03303872835b 100644
--- a/sw/source/core/layout/calcmove.cxx
+++ b/sw/source/core/layout/calcmove.cxx
@@ -245,6 +245,7 @@ void SwFrame::PrepareMake(vcl::RenderContext* pRenderContext)
     StackHack aHack;
     if ( GetUpper() )
     {
+        SwFrameDeleteGuard aDeleteGuard(this);
         if ( lcl_IsCalcUpperAllowed( *this ) )
             GetUpper()->Calc(pRenderContext);
         OSL_ENSURE( GetUpper(), ":-( Layout unstable (Upper gone)." );
diff --git a/sw/source/core/layout/ftnfrm.cxx b/sw/source/core/layout/ftnfrm.cxx
index d49eac75c66c..7d463eb1e9b8 100644
--- a/sw/source/core/layout/ftnfrm.cxx
+++ b/sw/source/core/layout/ftnfrm.cxx
@@ -471,6 +471,27 @@ void SwFootnoteFrame::InvalidateNxtFootnoteCnts( SwPageFrame const *pPage )
     }
 }
 
+bool SwFootnoteFrame::IsDeleteForbidden() const
+{
+    if (SwLayoutFrame::IsDeleteForbidden())
+        return true;
+    // needs to be in sync with the ::Cut logic
+    const SwLayoutFrame *pUp = GetUpper();
+    if (pUp)
+    {
+        if (GetPrev())
+            return false;
+
+        // The last footnote takes its container along if it
+        // is deleted. Cut would put pUp->Lower() to the value
+        // of GetNext(), so if there is no GetNext then
+        // Cut would delete pUp. If that condition is true
+        // here then check if the container is delete-forbidden
+        return !GetNext() && pUp->IsDeleteForbidden();
+    }
+    return false;
+}
+
 void SwFootnoteFrame::Cut()
 {
     if ( GetNext() )
@@ -496,7 +517,7 @@ void SwFootnoteFrame::Cut()
     if ( pUp )
     {
         // The last footnote takes its container along
-        if ( !pUp->Lower() )
+        if (!pUp->Lower())
         {
             SwPageFrame *pPage = pUp->FindPageFrame();
             if ( pPage )
@@ -1587,7 +1608,8 @@ void SwFootnoteBossFrame::AppendFootnote( SwContentFrame *pRef, SwTextFootnote *
             pNew->Calc(getRootFrame()->GetCurrShell()->GetOut());
             // #i57914# - adjust fix #i49383#
             if ( !bOldFootnoteFrameLocked && !pNew->GetLower() &&
-                 !pNew->IsColLocked() && !pNew->IsBackMoveLocked() )
+                 !pNew->IsColLocked() && !pNew->IsBackMoveLocked() &&
+                 !pNew->IsDeleteForbidden() )
             {
                 pNew->Cut();
                 SwFrame::DestroyFrame(pNew);
@@ -2192,7 +2214,8 @@ void SwFootnoteBossFrame::RearrangeFootnotes( const SwTwips nDeadLine, const boo
                         if ( !bLock && bUnlockLastFootnoteFrame &&
                              !pLastFootnoteFrame->GetLower() &&
                              !pLastFootnoteFrame->IsColLocked() &&
-                             !pLastFootnoteFrame->IsBackMoveLocked() )
+                             !pLastFootnoteFrame->IsBackMoveLocked() &&
+                             !pLastFootnoteFrame->IsDeleteForbidden() )
                         {
                             pLastFootnoteFrame->Cut();
                             SwFrame::DestroyFrame(pLastFootnoteFrame);
diff --git a/sw/source/core/layout/tabfrm.cxx b/sw/source/core/layout/tabfrm.cxx
index 71d83da9ff82..921659f032b7 100755
--- a/sw/source/core/layout/tabfrm.cxx
+++ b/sw/source/core/layout/tabfrm.cxx
@@ -861,6 +861,11 @@ bool SwTabFrame::RemoveFollowFlowLine()
     // #140081# Make code robust.
     if ( !pFollowFlowLine || !pLastLine )
         return true;
+    if (pFollowFlowLine->IsDeleteForbidden())
+    {
+        SAL_WARN("sw.layout", "Cannot remove in-use Follow Flow Line");
+        return true;
+    }
 
     // Move content
     lcl_MoveRowContent( *pFollowFlowLine, *static_cast<SwRowFrame*>(pLastLine) );
commit 70e2ca96778af1b7734aa9dde9627567cd210bc4
Author:     Michael Stahl <Michael.Stahl at cib.de>
AuthorDate: Mon Jan 14 15:52:00 2019 +0100
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Jan 17 14:46:07 2019 +0100

    libxslt: upgrade to release 1.1.33
    
    Change-Id: Ifc64dae74df341e107857e43223ead04b9c1061e
    Reviewed-on: https://gerrit.libreoffice.org/66309
    Tested-by: Jenkins
    Reviewed-by: Michael Stahl <Michael.Stahl at cib.de>
    (cherry picked from commit 3f720ac5ff65ddb2c0a06e48d0e2e9bec29f3a43)
    Reviewed-on: https://gerrit.libreoffice.org/66364
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>
    (cherry picked from commit efe7b735104343e5e0182e1b004aca9c7b79a901)

diff --git a/download.lst b/download.lst
index 9177faaeac8c..2a867282ae0c 100644
--- a/download.lst
+++ b/download.lst
@@ -175,8 +175,8 @@ export XMLSEC_TARBALL := xmlsec1-1.2.25.tar.gz
 export LIBXML_SHA256SUM := 94fb70890143e3c6549f265cee93ec064c80a84c42ad0f23e85ee1fd6540a871
 export LIBXML_VERSION_MICRO := 9
 export LIBXML_TARBALL := libxml2-2.9.$(LIBXML_VERSION_MICRO).tar.gz
-export LIBXSLT_SHA256SUM := 526ecd0abaf4a7789041622c3950c0e7f2c4c8835471515fd77eec684a355460
-export LIBXSLT_VERSION_MICRO := 32
+export LIBXSLT_SHA256SUM := 8e36605144409df979cab43d835002f63988f3dc94d5d3537c12796db90e38c8
+export LIBXSLT_VERSION_MICRO := 33
 export LIBXSLT_TARBALL := libxslt-1.1.$(LIBXSLT_VERSION_MICRO).tar.gz
 export LPSOLVE_SHA256SUM := 171816288f14215c69e730f7a4f1c325739873e21f946ff83884b350574e6695
 export LPSOLVE_TARBALL := 26b3e95ddf3d9c077c480ea45874b3b8-lp_solve_5.5.tar.gz
commit 8d4ddc38ed9b057a1d725dd26934521e76693068
Author:     Michael Stahl <Michael.Stahl at cib.de>
AuthorDate: Mon Jan 14 17:33:37 2019 +0100
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Jan 17 14:45:34 2019 +0100

    python3: add patch bpo-17239: Disable external entities in SAX parser
    
    Change-Id: I44e969d8d3a8fe6b6426d61a1cbe83154c8518dd
    Reviewed-on: https://gerrit.libreoffice.org/66329
    Tested-by: Jenkins
    Reviewed-by: Michael Stahl <Michael.Stahl at cib.de>
    (cherry picked from commit a57dd8eba9c0799dd42eb547a37622bce8fdb0b3)
    Reviewed-on: https://gerrit.libreoffice.org/66370
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>
    (cherry picked from commit 66b3860fd1772284dc12d0d2d2c76ac59b16883e)

diff --git a/external/python3/0001-3.6-bpo-17239-Disable-external-entities-in-SAX-parse.patch.1 b/external/python3/0001-3.6-bpo-17239-Disable-external-entities-in-SAX-parse.patch.1
new file mode 100644
index 000000000000..489e5d0e89ee
--- /dev/null
+++ b/external/python3/0001-3.6-bpo-17239-Disable-external-entities-in-SAX-parse.patch.1
@@ -0,0 +1,59 @@
+From 582d188e6e3487180891f1fc457a80dec8be26a8 Mon Sep 17 00:00:00 2001
+From: Christian Heimes <christian at python.org>
+Date: Mon, 24 Sep 2018 14:38:31 +0200
+Subject: [PATCH] [3.6] bpo-17239: Disable external entities in SAX parser
+ (GH-9217) (GH-9512)
+
+The SAX parser no longer processes general external entities by default
+to increase security. Before, the parser created network connections
+to fetch remote files or loaded local files from the file system for DTD
+and entities.
+
+Signed-off-by: Christian Heimes <christian at python.org>
+
+https://bugs.python.org/issue17239.
+(cherry picked from commit 17b1d5d4e36aa57a9b25a0e694affbd1ee637e45)
+
+Co-authored-by: Christian Heimes <christian at python.org>
+
+
+
+https://bugs.python.org/issue17239
+---
+ Doc/library/xml.dom.pulldom.rst               | 14 +++++
+ Doc/library/xml.rst                           |  6 +-
+ Doc/library/xml.sax.rst                       |  8 +++
+ Doc/whatsnew/3.6.rst                          | 18 +++++-
+ Lib/test/test_pulldom.py                      |  7 +++
+ Lib/test/test_sax.py                          | 60 ++++++++++++++++++-
+ Lib/test/test_xml_etree.py                    | 13 ++++
+ Lib/xml/sax/expatreader.py                    |  2 +-
+ .../2018-09-11-18-30-55.bpo-17239.kOpwK2.rst  |  3 +
+ 9 files changed, 125 insertions(+), 6 deletions(-)
+ create mode 100644 Misc/NEWS.d/next/Security/2018-09-11-18-30-55.bpo-17239.kOpwK2.rst
+
+diff --git a/Lib/xml/sax/expatreader.py b/Lib/xml/sax/expatreader.py
+index 421358fa5b..5066ffc2fa 100644
+--- a/Lib/xml/sax/expatreader.py
++++ b/Lib/xml/sax/expatreader.py
+@@ -95,7 +95,7 @@ class ExpatParser(xmlreader.IncrementalParser, xmlreader.Locator):
+         self._lex_handler_prop = None
+         self._parsing = 0
+         self._entity_stack = []
+-        self._external_ges = 1
++        self._external_ges = 0
+         self._interning = None
+ 
+     # XMLReader methods
+diff --git a/Misc/NEWS.d/next/Security/2018-09-11-18-30-55.bpo-17239.kOpwK2.rst b/Misc/NEWS.d/next/Security/2018-09-11-18-30-55.bpo-17239.kOpwK2.rst
+new file mode 100644
+index 0000000000..8dd0fe8c1b
+--- /dev/null
++++ b/Misc/NEWS.d/next/Security/2018-09-11-18-30-55.bpo-17239.kOpwK2.rst
+@@ -0,0 +1,3 @@
++The xml.sax and xml.dom.minidom parsers no longer processes external
++entities by default. External DTD and ENTITY declarations no longer
++load files or create network connections.
+-- 
+2.20.1
+
diff --git a/external/python3/UnpackedTarball_python3.mk b/external/python3/UnpackedTarball_python3.mk
index 35d6e643a1b0..ec1bdabe4fdd 100644
--- a/external/python3/UnpackedTarball_python3.mk
+++ b/external/python3/UnpackedTarball_python3.mk
@@ -26,6 +26,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,python3,\
 	external/python3/python-3.3.5-pyexpat-symbols.patch.1 \
 	external/python3/ubsan.patch.0 \
 	external/python3/python-3.5.tweak.strip.soabi.patch \
+	external/python3/0001-3.6-bpo-17239-Disable-external-entities-in-SAX-parse.patch.1 \
 ))
 
 ifneq ($(filter DRAGONFLY FREEBSD LINUX NETBSD OPENBSD SOLARIS,$(OS)),)
commit 5e9116596198f460db14d7d50bfd2f38a99fff59
Author:     Michael Stahl <Michael.Stahl at cib.de>
AuthorDate: Mon Jan 14 15:44:35 2019 +0100
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Jan 17 14:44:56 2019 +0100

    libxml2: upgrade to release 2.9.9
    
    * fixes CVE-2018-14404
    * drop one hunk from libxml2-android.patch that was added in commit
      6a17d2f2ba7acfec277314b97b50e41532d6b44d; presumably nan() exists now
      given that other code is calling it.
    
    Change-Id: I696cc4e1da55536ea1c89a6e0446ce5bc8398ba4
    Reviewed-on: https://gerrit.libreoffice.org/66308
    Tested-by: Jenkins
    Reviewed-by: Michael Stahl <Michael.Stahl at cib.de>
    (cherry picked from commit beea5852720b22043aefcd1e6b7243c202b40601)
    Reviewed-on: https://gerrit.libreoffice.org/66367
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>
    (cherry picked from commit 69b5995ed815bea4d21080f64a4232f44131696f)

diff --git a/download.lst b/download.lst
index 11dc0e31da7b..9177faaeac8c 100644
--- a/download.lst
+++ b/download.lst
@@ -172,8 +172,8 @@ export LIBTOMMATH_SHA256SUM := 083daa92d8ee6f4af96a6143b12d7fc8fe1a547e14f862304
 export LIBTOMMATH_TARBALL := ltm-1.0.zip
 export XMLSEC_SHA256SUM := 967ca83edf25ccb5b48a3c4a09ad3405a63365576503bf34290a42de1b92fcd2
 export XMLSEC_TARBALL := xmlsec1-1.2.25.tar.gz
-export LIBXML_SHA256SUM := 0b74e51595654f958148759cfef0993114ddccccbb6f31aee018f3558e8e2732
-export LIBXML_VERSION_MICRO := 8
+export LIBXML_SHA256SUM := 94fb70890143e3c6549f265cee93ec064c80a84c42ad0f23e85ee1fd6540a871
+export LIBXML_VERSION_MICRO := 9
 export LIBXML_TARBALL := libxml2-2.9.$(LIBXML_VERSION_MICRO).tar.gz
 export LIBXSLT_SHA256SUM := 526ecd0abaf4a7789041622c3950c0e7f2c4c8835471515fd77eec684a355460
 export LIBXSLT_VERSION_MICRO := 32
diff --git a/external/libxml2/libxml2-android.patch b/external/libxml2/libxml2-android.patch
index bd7e15b5d39e..714de61068fb 100644
--- a/external/libxml2/libxml2-android.patch
+++ b/external/libxml2/libxml2-android.patch
@@ -1,15 +1,3 @@
---- misc/libxml2-2.7.6/trionan.c
-+++ misc/build/libxml2-2.7.6/trionan.c
-@@ -327,7 +327,7 @@
- 
-   if (result == 0.0) {
- 
--#if defined(TRIO_COMPILER_SUPPORTS_C99)
-+#if defined(TRIO_COMPILER_SUPPORTS_C99) && !(defined(__ANDROID__) && defined(__clang__))
-     result = nan("");
- 
- #elif defined(NAN) && defined(__STDC_IEC_559__)
-
 --- misc/libxml2-2.7.6/Makefile.in
 +++ misc/build/libxml2-2.7.6/Makefile.in
 @@ -1635,7 +1635,7 @@
diff --git a/external/libxml2/libxml2-global-symbols.patch b/external/libxml2/libxml2-global-symbols.patch
index ba34ac9cc0c6..49ee73731562 100644
--- a/external/libxml2/libxml2-global-symbols.patch
+++ b/external/libxml2/libxml2-global-symbols.patch
@@ -14,8 +14,8 @@
  
  LIBXML2_2.6.32 {
 @@ -2231,3 +2231,43 @@
-   xmlXPathSetContextNode;
- } LIBXML2_2.9.0;
+   xmlHashDefaultDeallocator;
+ } LIBXML2_2.9.1;
  
 +# HACK: export global variable accessor functions (globals.h)
 +LIBXML2_GLOBAL_VARIABLES {
commit fc3e410a047778068e8eb21c15e73764d160a335
Author:     Michael Stahl <Michael.Stahl at cib.de>
AuthorDate: Mon Jan 14 16:19:58 2019 +0100
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Jan 17 14:44:17 2019 +0100

    curl: upgrade to release 7.63.0
    
    fixes CVE-2018-16840
    
    Change-Id: Ica995a28a71eb5d5277d045d57fee9ba0f88883f
    Reviewed-on: https://gerrit.libreoffice.org/66328
    Tested-by: Jenkins
    Reviewed-by: Michael Stahl <Michael.Stahl at cib.de>
    (cherry picked from commit 5e96a5c664aea950111199e56bda412512a849b0)
    Reviewed-on: https://gerrit.libreoffice.org/66365
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>
    (cherry picked from commit 091451beafb1248e5ff55e4b54b5fda199287f5d)

diff --git a/download.lst b/download.lst
index 307d12adcb19..11dc0e31da7b 100644
--- a/download.lst
+++ b/download.lst
@@ -29,8 +29,8 @@ export CPPUNIT_SHA256SUM := 3d569869d27b48860210c758c4f313082103a5e58219a7669b52
 export CPPUNIT_TARBALL := cppunit-1.14.0.tar.gz
 export CT2N_SHA256SUM := 71b238efd2734be9800af07566daea8d6685aeed28db5eb5fa0e6453f4d85de3
 export CT2N_TARBALL := 1f467e5bb703f12cbbb09d5cf67ecf4a-converttexttonumber-1-5-0.oxt
-export CURL_SHA256SUM := eaa812e9a871ea10dbe8e1d3f8f12a64a8e3e62aeab18cb23742e2f1727458ae
-export CURL_TARBALL := curl-7.61.1.tar.gz
+export CURL_SHA256SUM := d483b89062832e211c887d7cf1b65c902d591b48c11fe7d174af781681580b41
+export CURL_TARBALL := curl-7.63.0.tar.gz
 export EBOOK_SHA256SUM := 7e8d8ff34f27831aca3bc6f9cc532c2f90d2057c778963b884ff3d1e34dfe1f9
 export EBOOK_TARBALL := libe-book-0.1.3.tar.xz
 export EPOXY_SHA256SUM := 1d8668b0a259c709899e1c4bab62d756d9002d546ce4f59c9665e2fc5f001a64
commit 13f8f38d9d6a102cbd53bdf56229324ee9dc7923
Author:     Noel Grandin <noel.grandin at collabora.co.uk>
AuthorDate: Mon Jan 14 13:19:32 2019 +0200
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Jan 17 14:43:41 2019 +0100

    tdf#122250 Crash when running extension
    
    as a consequence of
    
        commit 4e07987ce8134312920682e3481c3f8e3d7b66c3
        Date:   Thu Aug 25 15:08:55 2016 +0200
        cid#1371154 Missing move assignment operator
    
    this extensions appears to pass bogus data into VCLXWindow::setProperty,
    so I had to workaround that when debugging
    
    Change-Id: Ib6728c0a990bd7cfbfed43d79b7560bd2f7f5a67
    Reviewed-on: https://gerrit.libreoffice.org/66297
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>
    (cherry picked from commit b2fa854e81d329c9ed49bd10944cea1a430ecf7e)

diff --git a/basic/source/sbx/sbxarray.cxx b/basic/source/sbx/sbxarray.cxx
index 911a692c1def..99acf3325918 100644
--- a/basic/source/sbx/sbxarray.cxx
+++ b/basic/source/sbx/sbxarray.cxx
@@ -203,10 +203,14 @@ void SbxArray::Put( SbxVariable* pVar, sal_uInt16 nIdx )
                 if( eType != SbxOBJECT || pVar->GetClass() != SbxClassType::Object )
                     pVar->Convert( eType );
         SbxVariableRef& rRef = GetRef( nIdx );
+        // tdf#122250. It is possible that I hold the last reference to myself, so check, otherwise I might
+        // call SetFlag on myself after I have died.
+        bool removingMyself = rRef.get() && rRef->GetParameters() == this && GetRefCount() == 1;
         if(rRef.get() != pVar )
         {
             rRef = pVar;
-            SetFlag( SbxFlagBits::Modified );
+            if (!removingMyself)
+                SetFlag( SbxFlagBits::Modified );
         }
     }
 }
diff --git a/toolkit/source/awt/vclxwindow.cxx b/toolkit/source/awt/vclxwindow.cxx
index f0a3cd605588..341679e1cd3e 100644
--- a/toolkit/source/awt/vclxwindow.cxx
+++ b/toolkit/source/awt/vclxwindow.cxx
@@ -1700,6 +1700,8 @@ void VCLXWindow::setProperty( const OUString& PropertyName, const css::uno::Any&
             WinBits nStyle = pWindow->GetStyle();
             sal_uInt16 nTmp = 0;
             Value >>= nTmp;
+            // clear any dodgy bits passed in, can come from dodgy extensions
+            nTmp &= o3tl::typed_flags<WindowBorderStyle>::mask;
             WindowBorderStyle nBorder = static_cast<WindowBorderStyle>(nTmp);
             if ( !bool(nBorder) )
             {
commit 6de3c4450e8a3d34633ca0865f7186622f14f206
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Fri Dec 21 13:16:14 2018 +0000
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Jan 17 14:34:31 2019 +0100

    Resolves: tdf#120885 Crash on choosing 'more styles'
    
    switching to the sidebar destroys the control currently active,
    just post the event to happen on the next event loop
    
    Change-Id: I3e9b629821fa43d8f29e419e72f66ed46d72fdbb
    Reviewed-on: https://gerrit.libreoffice.org/65543
    Tested-by: Jenkins
    Reviewed-by: Michael Stahl <Michael.Stahl at cib.de>
    (cherry picked from commit 93f26a66a4f6a13beb053edbdba9f906370bf968)

diff --git a/svx/source/tbxctrls/tbcontrl.cxx b/svx/source/tbxctrls/tbcontrl.cxx
index c5c19346ce3f..a0da3f0d05ec 100644
--- a/svx/source/tbxctrls/tbcontrl.cxx
+++ b/svx/source/tbxctrls/tbcontrl.cxx
@@ -176,6 +176,7 @@ private:
     static bool     AdjustFontForItemHeight(OutputDevice* pDevice, tools::Rectangle& rTextRect, long nHeight);
     void            SetOptimalSize();
     DECL_LINK( MenuSelectHdl, Menu *, bool );
+    DECL_STATIC_LINK(SvxStyleBox_Impl, ShowMoreHdl, void*, void);
 };
 
 class SvxFontNameBox_Impl : public FontNameBox
@@ -428,6 +429,16 @@ IMPL_LINK( SvxStyleBox_Impl, MenuSelectHdl, Menu*, pMenu, bool)
     return false;
 }
 
+IMPL_STATIC_LINK_NOARG(SvxStyleBox_Impl, ShowMoreHdl, void*, void)
+{
+    SfxViewFrame* pViewFrm = SfxViewFrame::Current();
+    DBG_ASSERT( pViewFrm, "SvxStyleBox_Impl::Select(): no viewframe" );
+    if (!pViewFrm)
+        return;
+    pViewFrm->ShowChildWindow(SID_SIDEBAR);
+    ::sfx2::sidebar::Sidebar::ShowPanel("StyleListPanel", pViewFrm->GetFrame().GetFrameInterface());
+}
+
 void SvxStyleBox_Impl::Select()
 {
     // Tell base class about selection so that AT get informed about it.
@@ -451,11 +462,7 @@ void SvxStyleBox_Impl::Select()
         }
         else if( aSearchEntry == aMoreKey && GetSelectedEntryPos() == ( GetEntryCount() - 1 ) )
         {
-            SfxViewFrame* pViewFrm = SfxViewFrame::Current();
-            DBG_ASSERT( pViewFrm, "SvxStyleBox_Impl::Select(): no viewframe" );
-            pViewFrm->ShowChildWindow( SID_SIDEBAR );
-            ::sfx2::sidebar::Sidebar::ShowPanel("StyleListPanel",
-                                                pViewFrm->GetFrame().GetFrameInterface());
+            Application::PostUserEvent(LINK(nullptr, SvxStyleBox_Impl, ShowMoreHdl));
             //tdf#113214 change text back to previous entry
             SetText(GetSavedValue());
             bDoIt = false;
commit e591386ef5afad1229628401b44c4fd3c78bdfd8
Author:     Gabor Kelemen <kelemeng at ubuntu.com>
AuthorDate: Wed Jan 9 07:28:28 2019 +0100
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Jan 17 14:26:10 2019 +0100

    tdf#107416 Revert "tdf#103703 Turn on single print jobs for collated prints"
    
    Turns out this was a wrong solution to the problem, also
    causing printout mixups on busy printers for the users
    
    This reverts commit 37c3e57c788fb5ad931126ea233093d87ac3dbc3.
    
    Change-Id: I8a456f4c90f48854c1f5e92dc39ed4ec8a17cf75
    Reviewed-on: https://gerrit.libreoffice.org/65993
    Tested-by: Jenkins
    Reviewed-by: László Németh <nemeth at numbertext.org>
    (cherry picked from commit 2117257eafac507b6af0be86ae62261fd192089a)
    Reviewed-on: https://gerrit.libreoffice.org/66152
    Reviewed-by: Xisco Faulí <xiscofauli at libreoffice.org>
    (cherry picked from commit d8d148c96d7cdd96948240ac30b3aeacfb5aa7ca)

diff --git a/officecfg/registry/data/org/openoffice/VCL.xcu b/officecfg/registry/data/org/openoffice/VCL.xcu
index 762f35d75c62..f65c21e847eb 100644
--- a/officecfg/registry/data/org/openoffice/VCL.xcu
+++ b/officecfg/registry/data/org/openoffice/VCL.xcu
@@ -47,9 +47,6 @@
       <prop oor:name="CollateBox" oor:op="replace" oor:type="xs:string">
         <value>Default</value>
       </prop>
-      <prop oor:name="CollateSingleJobs" oor:op="replace" oor:type="xs:string">
-        <value>true</value>
-      </prop>
     </node>
     <node oor:name="WM" oor:op="replace">
       <prop oor:name="ShouldSwitchWorkspace" oor:op="replace" oor:type="xs:string">
commit ad92853904bef1b1f2c4ba362d2a57a53176b560
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Thu Jan 10 14:26:43 2019 +0000
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Jan 17 14:25:30 2019 +0100

    Resolves: tdf#120632 consider submenus on restoring focus from menu
    
    additionally to the menu having focus, if a submenu of that menu has
    focus, then restore the focus when the whole hierarchy execution ends
    return focus to the toplevel menu's saved focus widget
    
    Change-Id: Iefd467fb1ba67ffd0a303505a893d2453e0ffbb3
    Reviewed-on: https://gerrit.libreoffice.org/66132
    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>
    (cherry picked from commit 74f07d85d37b9a90b625f33bbf4dbd268f78b2a4)

diff --git a/vcl/source/window/menufloatingwindow.cxx b/vcl/source/window/menufloatingwindow.cxx
index 7a6730c3ef49..3085dd477889 100644
--- a/vcl/source/window/menufloatingwindow.cxx
+++ b/vcl/source/window/menufloatingwindow.cxx
@@ -417,6 +417,16 @@ void MenuFloatingWindow::Start()
         GetParent()->ImplIncModalCount();
 }
 
+bool MenuFloatingWindow::MenuInHierarchyHasFocus() const
+{
+    if (HasChildPathFocus())
+        return true;
+    PopupMenu* pSub = GetActivePopup();
+    if (!pSub)
+        return false;
+    return pSub->ImplGetFloatingWindow()->HasChildPathFocus();
+}
+
 void MenuFloatingWindow::End()
 {
     if (!bInExecute)
@@ -428,7 +438,7 @@ void MenuFloatingWindow::End()
     // restore focus to previous window if we still have the focus
     VclPtr<vcl::Window> xFocusId(xSaveFocusId);
     xSaveFocusId = nullptr;
-    if (HasChildPathFocus() && xFocusId != nullptr)
+    if (xFocusId != nullptr && MenuInHierarchyHasFocus())
     {
         ImplGetSVData()->maWinData.mbNoDeactivate = false;
         Window::EndSaveFocus(xFocusId);
diff --git a/vcl/source/window/menufloatingwindow.hxx b/vcl/source/window/menufloatingwindow.hxx
index 9888cd220687..c091b46add4f 100644
--- a/vcl/source/window/menufloatingwindow.hxx
+++ b/vcl/source/window/menufloatingwindow.hxx
@@ -121,6 +121,8 @@ public:
 
     void SetPosInParent( sal_uInt16 nPos ) { nPosInParent = nPos; }
 
+    bool MenuInHierarchyHasFocus() const;
+
     virtual css::uno::Reference<css::accessibility::XAccessible> CreateAccessible() override;
 };
 
commit 3cd6e73a36cae1ac4d5cf0701c1229d590c92208
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Thu Dec 20 21:29:27 2018 +0000
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Jan 17 14:24:15 2019 +0100

    tdf#122020 crash in SvTreeList::InvalidateEntry
    
    a PostUserEvent of DBTreeListBox::OnResetEntry with a SvTreeListEntry* pEntry as
    payload, then the DBTreeListBox is disposed and then the UserEvent arrives and
    the, by now deleted, pEntry is processed by the disposed DBTreeListBox
    
    Change-Id: I951639eb633920aa3536cd44320f36f6b2e910aa
    Reviewed-on: https://gerrit.libreoffice.org/65514
    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>
    (cherry picked from commit e9febe48283bf376ecf06cd688e8cef087a41a35)

diff --git a/dbaccess/source/ui/control/dbtreelistbox.cxx b/dbaccess/source/ui/control/dbtreelistbox.cxx
index a8efa986d117..ec7a8b185197 100644
--- a/dbaccess/source/ui/control/dbtreelistbox.cxx
+++ b/dbaccess/source/ui/control/dbtreelistbox.cxx
@@ -58,7 +58,8 @@ DBTreeListBox::DBTreeListBox( vcl::Window* pParent, WinBits nWinStyle )
     :SvTreeListBox(pParent,nWinStyle)
     ,m_pDragedEntry(nullptr)
     ,m_pActionListener(nullptr)
-    ,m_pContextMenuProvider( nullptr )
+    ,m_pContextMenuProvider(nullptr)
+    ,m_pResetEvent(nullptr)
 {
     init();
 }
@@ -88,6 +89,11 @@ DBTreeListBox::~DBTreeListBox()
 
 void DBTreeListBox::dispose()
 {
+    if (m_pResetEvent)
+    {
+        RemoveUserEvent(m_pResetEvent);
+        m_pResetEvent = nullptr;
+    }
     implStopSelectionTimer();
     SvTreeListBox::dispose();
 }
@@ -118,11 +124,6 @@ SvTreeListEntry* DBTreeListBox::GetEntryPosByName( const OUString& aName, SvTree
     return pEntry;
 }
 
-void DBTreeListBox::EnableExpandHandler(SvTreeListEntry* _pEntry)
-{
-    LINK(this, DBTreeListBox, OnResetEntry).Call(_pEntry);
-}
-
 void DBTreeListBox::RequestingChildren( SvTreeListEntry* pParent )
 {
     if (m_aPreExpandHandler.IsSet() && !m_aPreExpandHandler.Call(pParent))
@@ -130,7 +131,7 @@ void DBTreeListBox::RequestingChildren( SvTreeListEntry* pParent )
         // an error occurred. The method calling us will reset the entry flags, so it can't be expanded again.
         // But we want that the user may do a second try (i.e. because he mistypes a password in this try), so
         // we have to reset these flags controlling the expand ability
-        PostUserEvent(LINK(this, DBTreeListBox, OnResetEntry), pParent, true);
+        m_pResetEvent = PostUserEvent(LINK(this, DBTreeListBox, OnResetEntryHdl), pParent, true);
     }
 }
 
@@ -176,15 +177,20 @@ void DBTreeListBox::MouseButtonDown( const MouseEvent& rMEvt )
         SvTreeListBox::MouseButtonDown(rMEvt);
 }
 
-IMPL_LINK(DBTreeListBox, OnResetEntry, void*, p, void)
+void DBTreeListBox::EnableExpandHandler(SvTreeListEntry* pEntry)
 {
-    SvTreeListEntry* pEntry = static_cast<SvTreeListEntry*>(p);
     // set the flag which allows if the entry can be expanded
     pEntry->SetFlags( (pEntry->GetFlags() & ~SvTLEntryFlags(SvTLEntryFlags::NO_NODEBMP | SvTLEntryFlags::HAD_CHILDREN)) | SvTLEntryFlags::CHILDREN_ON_DEMAND );
     // redraw the entry
     GetModel()->InvalidateEntry( pEntry );
 }
 
+IMPL_LINK(DBTreeListBox, OnResetEntryHdl, void*, p, void)
+{
+    m_pResetEvent = nullptr;
+    EnableExpandHandler(static_cast<SvTreeListEntry*>(p));
+}
+
 void DBTreeListBox::ModelHasEntryInvalidated( SvTreeListEntry* _pEntry )
 {
     SvTreeListBox::ModelHasEntryInvalidated( _pEntry );
diff --git a/dbaccess/source/ui/inc/dbtreelistbox.hxx b/dbaccess/source/ui/inc/dbtreelistbox.hxx
index 73ea220af664..dc1cbc5892ea 100644
--- a/dbaccess/source/ui/inc/dbtreelistbox.hxx
+++ b/dbaccess/source/ui/inc/dbtreelistbox.hxx
@@ -58,6 +58,7 @@ namespace dbaui
         SvTreeListEntry*            m_pDragedEntry;
         IControlActionListener*     m_pActionListener;
         IContextMenuProvider*       m_pContextMenuProvider;
+        ImplSVEvent*                m_pResetEvent;
         css::uno::Reference<css::frame::XPopupMenuController> m_xMenuController;
 
         Link<SvTreeListEntry*,bool> m_aPreExpandHandler;    // handler to be called before a node is expanded
@@ -70,7 +71,7 @@ namespace dbaui
     private:
         void init();
         DECL_LINK( OnTimeOut, Timer*, void );
-        DECL_LINK( OnResetEntry, void*, void );
+        DECL_LINK( OnResetEntryHdl, void*, void );
         DECL_LINK( ScrollUpHdl, LinkParamNone*, void );
         DECL_LINK( ScrollDownHdl, LinkParamNone*, void );
         DECL_LINK( MenuEventListener, VclMenuEvent&, void );
commit 6b70761cab8efcdd1b613e6665b2ea6c7944d7dd
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Tue Jan 8 13:46:53 2019 +0000
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Jan 17 14:23:38 2019 +0100

    Resolves: tdf#121940 mnemonic ends up in tooltip text
    
    Change-Id: Ic698f23e71dbc613db2acf884fdefdeab06fde0f
    Reviewed-on: https://gerrit.libreoffice.org/65970
    Tested-by: Jenkins
    Reviewed-by: Adolfo Jayme Barrientos <fitojb at ubuntu.com>
    (cherry picked from commit fd373f5f584d9de82cce76b98bd21f7dfe38844c)

diff --git a/sw/source/uibase/wrtsh/wrtundo.cxx b/sw/source/uibase/wrtsh/wrtundo.cxx
index 27c7f0e34ed6..293b130405e4 100644
--- a/sw/source/uibase/wrtsh/wrtundo.cxx
+++ b/sw/source/uibase/wrtsh/wrtundo.cxx
@@ -25,6 +25,7 @@
 #include <swdtflvr.hxx>
 #include <svtools/svtresid.hxx>
 #include <svtools/strings.hrc>
+#include <vcl/mnemonic.hxx>
 
 // Undo ends all modes. If a selection is emerged by the Undo,
 // this must be considered for further action.
@@ -108,7 +109,7 @@ OUString SwWrtShell::GetDoString( DoType eDoType ) const
     default:;//prevent warning
     }
 
-    return SvtResId(pResStr) + aUndoStr;
+    return MnemonicGenerator::EraseAllMnemonicChars(SvtResId(pResStr)) + aUndoStr;
 }
 
 void SwWrtShell::GetDoStrings( DoType eDoType, SfxStringListItem& rStrs ) const
commit 6a06ef42968ae1db639eb482a114d8a2bfff5839
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Thu Dec 20 16:52:11 2018 +0000
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Jan 17 14:22:46 2019 +0100

    Resolves: tdf#114695 limit width of this combo
    
    Change-Id: I3bcb880d05b9b2b6a7faf7b3646b169f3b11a46b
    Reviewed-on: https://gerrit.libreoffice.org/65509
    Tested-by: Jenkins
    Reviewed-by: Adolfo Jayme Barrientos <fitojb at ubuntu.com>
    (cherry picked from commit a1f3bcc6312a599996fee9825703394fe5b3a20a)

diff --git a/sc/source/ui/pagedlg/scuitphfedit.cxx b/sc/source/ui/pagedlg/scuitphfedit.cxx
index 5ac92feac1db..877a0ed97b19 100644
--- a/sc/source/ui/pagedlg/scuitphfedit.cxx
+++ b/sc/source/ui/pagedlg/scuitphfedit.cxx
@@ -67,6 +67,10 @@ ScHFEditPage::ScHFEditPage( vcl::Window*             pParent,
     m_pWndRight->SetLocation(Right);
 
     get(m_pLbDefined,"comboLB_DEFINED");
+    // tdf#114695 override natural size with a small value
+    // we expect this to get stretched to some larger but
+    // limited size based on surrounding widgets
+    m_pLbDefined->set_width_request(m_pLbDefined->approximate_digit_width() * 20);
 
     get(m_pBtnText,"buttonBTN_TEXT");
     get(m_pBtnTable,"buttonBTN_TABLE");
commit 7216f56cc36eac449e3bb9e2a4ee90ef9540b9cf
Author:     Muhammet Kara <muhammet.kara at collabora.com>
AuthorDate: Wed Jan 2 01:24:20 2019 +0300
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Jan 17 14:07:37 2019 +0100

    Resolves tdf#122383 and tdf#122410
    
    Add some null pointer checks
    
    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
    (cherry picked from commit 808cc4d5fd87e6e6719a4a16f815e5897608bd2d)
    
    Change-Id: I905c6dd46a5019e66d9c2e59374cc7d1ce83397b

diff --git a/cui/source/customize/SvxMenuConfigPage.cxx b/cui/source/customize/SvxMenuConfigPage.cxx
index aa885a206609..3a5bace9c406 100644
--- a/cui/source/customize/SvxMenuConfigPage.cxx
+++ b/cui/source/customize/SvxMenuConfigPage.cxx
@@ -450,6 +450,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;
+    }
+
     ScopedVclPtrInstance<MessageDialog> qbox(this,
         CuiResId(RID_SVXSTR_CONFIRM_RESTORE_DEFAULT_MENU), VclMessageType::Question, VclButtonsType::YesNo);
 
diff --git a/cui/source/customize/SvxToolbarConfigPage.cxx b/cui/source/customize/SvxToolbarConfigPage.cxx
index 72e4675b0336..21909025e4fe 100644
--- a/cui/source/customize/SvxToolbarConfigPage.cxx
+++ b/cui/source/customize/SvxToolbarConfigPage.cxx
@@ -462,9 +462,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();
@@ -781,10 +786,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() )
@@ -803,8 +816,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 be2f26044a59..7cb1d3623a46 100644
--- a/cui/source/customize/cfg.cxx
+++ b/cui/source/customize/cfg.cxx
@@ -1626,8 +1626,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;
     }
@@ -1650,8 +1651,6 @@ SvTreeListEntry* SvxConfigPage::AddFunction(
         pNewEntryData->SetName( GetSelectedDisplayName() );
 
     // check that this function is not already in the menu
-    SvxConfigEntry* pParent = GetTopLevelSelection();
-
     if ( !bAllowDuplicates )
     {
         for (SvxEntries::const_iterator iter(pParent->GetEntries()->begin()), end(pParent->GetEntries()->end());
@@ -1678,8 +1677,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 5d638550eaf9343a56bee9fa0fe8295f37bd3565
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Tue Dec 4 15:27:54 2018 +0000
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Jan 17 14:03:35 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>
    (cherry picked from commit 01e263bad891abea9bc671a29c95ea8a8b5fb842)

diff --git a/sfx2/source/dialog/dinfdlg.cxx b/sfx2/source/dialog/dinfdlg.cxx
index 2631e379393c..9dfe5d15c239 100644
--- a/sfx2/source/dialog/dinfdlg.cxx
+++ b/sfx2/source/dialog/dinfdlg.cxx
@@ -1553,7 +1553,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();
@@ -1786,15 +1793,11 @@ 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_aCustomProperties.clear();
-    m_aCustomPropertiesLines.clear();
     m_nScrollPos = 0;
 }
 
commit b5f3ad23f6c3d5ac56b45c034cc650061788db1c
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Tue Dec 4 13:01:14 2018 +0000
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Jan 17 14:02:47 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>
    (cherry picked from commit 78c52b1ab97397f99af279df78df798efde91136)

diff --git a/vcl/osx/a11ywrapper.mm b/vcl/osx/a11ywrapper.mm
index 37ad10c3242a..e17dd216c5a6 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 235c29e6e4b8..4d14ea2bb824 100644
--- a/vcl/unx/gtk/gtksalframe.cxx
+++ b/vcl/unx/gtk/gtksalframe.cxx
@@ -3757,6 +3757,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 4ee63a98da95..245df77f1a21 100644
--- a/vcl/unx/gtk3/gtk3gtkframe.cxx
+++ b/vcl/unx/gtk3/gtk3gtkframe.cxx
@@ -4153,6 +4153,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 6594e0bb887581041d08f61b0d8d4466b169851f
Author:     Julien Nabet <serval2412 at yahoo.fr>
AuthorDate: Wed Dec 26 18:13:58 2018 +0100
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Jan 17 14:01:25 2019 +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>
    (cherry picked from commit 26ad33a6f1e894d7352fb3d175c8d15dd28673b2)

diff --git a/xmloff/source/draw/shapeexport.cxx b/xmloff/source/draw/shapeexport.cxx
index 887f5ecfd372..b5f54a2da06f 100644
--- a/xmloff/source/draw/shapeexport.cxx
+++ b/xmloff/source/draw/shapeexport.cxx
@@ -4536,6 +4536,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 812b23421e064dc7a211f8e61e14b3c6be5f1ddd
Author:     Julien Nabet <serval2412 at yahoo.fr>
AuthorDate: Sun Dec 30 12:51:25 2018 +0100
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Jan 17 14:01:00 2019 +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>
    (cherry picked from commit c64564c6b520f4dbadb689e958dafa1591b3711d)

diff --git a/sc/source/filter/xml/XMLExportDataPilot.cxx b/sc/source/filter/xml/XMLExportDataPilot.cxx
index fc8e2d537dc3..c6a43445c149 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 39f2e4490a1f4ac7706724adb789cc460bd86300
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Sun Dec 23 20:05:14 2018 +0000
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Jan 17 14:00:06 2019 +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>
    (cherry picked from commit a93713359265a9a1403c744e467eb5faa09cc747)

diff --git a/desktop/source/deployment/gui/dp_gui_theextmgr.cxx b/desktop/source/deployment/gui/dp_gui_theextmgr.cxx
index b9dd8cd947f5..221d5b5f7906 100644
--- a/desktop/source/deployment/gui/dp_gui_theextmgr.cxx
+++ b/desktop/source/deployment/gui/dp_gui_theextmgr.cxx
@@ -449,6 +449,7 @@ void TheExtensionManager::queryTermination( ::lang::EventObject const & )
     }
     else
     {
+        clearModified();
         if ( m_pExtMgrDialog )
             m_pExtMgrDialog->Close();
         if ( m_pUpdReqDialog )
commit 49a4214ccad0415951908fd5814617410845c57b
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Wed Dec 19 16:23:06 2018 +0000
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Jan 17 13:57:04 2019 +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>
    (cherry picked from commit c72ddb5e185d33e17762bc96207b86948950e173)

diff --git a/vcl/unx/gtk/gtksalmenu.cxx b/vcl/unx/gtk/gtksalmenu.cxx
index 6f16984ba6d0..996672d880cf 100644
--- a/vcl/unx/gtk/gtksalmenu.cxx
+++ b/vcl/unx/gtk/gtksalmenu.cxx
@@ -225,8 +225,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;
@@ -519,13 +523,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 be34549050209424c095dd00eb7ddf96fd60a493
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Tue Dec 18 12:44:37 2018 +0000
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Jan 17 13:53:45 2019 +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>
    (cherry picked from commit c1bff09047624898320767921f3bf01d95b8e0e2)

diff --git a/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu b/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
index 91524e64f654..17fba1909d22 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu
@@ -6494,11 +6494,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 186a16f906ba..656843353af8 100644
--- a/sd/uiconfig/simpress/menubar/menubar.xml
+++ b/sd/uiconfig/simpress/menubar/menubar.xml
@@ -191,7 +191,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 b8dbf81b6a8752048aca8312f190842426385ce5
Author:     Samuel Mehrbrodt <Samuel.Mehrbrodt at cib.de>
AuthorDate: Thu Dec 13 19:58:36 2018 +0100
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Jan 17 13:53:05 2019 +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>
    (cherry picked from commit d9f02548f29678b8b7fc3a6c714ab144bd728005)

diff --git a/sw/source/uibase/uno/unotxdoc.cxx b/sw/source/uibase/uno/unotxdoc.cxx
index 2620335d2ee2..ff57d4dfd850 100644
--- a/sw/source/uibase/uno/unotxdoc.cxx
+++ b/sw/source/uibase/uno/unotxdoc.cxx
@@ -2627,8 +2627,6 @@ sal_Int32 SAL_CALL SwXTextDocument::getRendererCount(
                 bStateChanged = true;
             }
 
-            // #122919# Force field update before PDF export
-            pViewShell->SwViewShell::UpdateFields(true);
             if( bStateChanged )
                 pRenderDocShell->EnableSetModified();
 
@@ -2638,6 +2636,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 0fc5010d39930837d8fccc70b1a63bbaebca8172
Author:     Xisco Fauli <xiscofauli at libreoffice.org>
AuthorDate: Thu Dec 13 17:10:29 2018 +0100
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Jan 17 13:52:24 2019 +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
    (cherry picked from commit 73c3c3deff69ccd6a2f55952a911738496fb3c32)

diff --git a/svl/source/items/itempool.cxx b/svl/source/items/itempool.cxx
index 4357342dd499..17b41740e96b 100644
--- a/svl/source/items/itempool.cxx
+++ b/svl/source/items/itempool.cxx
@@ -762,9 +762,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 3f9049a2363fd870c81c0fb63393994f3bfecba8
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Thu Nov 8 10:58:00 2018 +0000
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Jan 17 13:50:59 2019 +0100


... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list