Rebased ref, commits from common ancestor: commit 12c05db71c49fc1117afcb201ca8c23742160055 Author: Thorsten Behrens <thorsten.behr...@cib.de> Date: Mon Jul 2 18:11:47 2018 +0200
./g: don't exit early on ./g checkout -f Reviewed-on: https://gerrit.libreoffice.org/56822 Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de> Tested-by: Thorsten Behrens <thorsten.behr...@cib.de> (cherry picked from commit 5fce97a58b8f764e35bf98128591c9a89537da05) Change-Id: I33f54c365bce64ccccfeb1c58fc8e4faddb7ad77 Reviewed-on: https://gerrit.libreoffice.org/56916 Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de> Tested-by: Thorsten Behrens <thorsten.behr...@cib.de> (cherry picked from commit dca20728ebe798ada1045ea3dabcb981166e2b9d) diff --git a/g b/g index 49ece9ff6880..649ccf3611de 100755 --- a/g +++ b/g @@ -209,7 +209,7 @@ local module git checkout "$@" || return $? for cmd in "$@" ; do if [ "$cmd" = "-f" ]; then - return 0 + continue elif [ "$cmd" = "-b" ] ; then create_branch=1 elif [ "$create_branch" = "1" ] ; then commit 5279420f40f03527c7bf4b052ad77b98d97a3f3f Author: Katarina Behrens <katarina.behr...@cib.de> Date: Wed Feb 10 14:42:18 2016 +0100 Branded images for msi installer The sizes are 122 x 234, 374 x 44 installed units respectively, according to http://msdn.microsoft.com/de-de/library/windows/desktop/aa369490%28v=vs.85%29.aspx it is 163x312, 499x58 pixels at 96 dpi. I bumped dpi to 120 and it still looks pixelated, but it's as good as it gets. For better results, we need different graphics, with less fine details given the very limited space Change-Id: I4a7eafed16fd79f377d27afa8151cfab614b464b diff --git a/instsetoo_native/inc_common/windows/msi_templates/Binary/Banner.bmp b/instsetoo_native/inc_common/windows/msi_templates/Binary/Banner.bmp index 5a163cf86c23..471eea4c22e6 100644 Binary files a/instsetoo_native/inc_common/windows/msi_templates/Binary/Banner.bmp and b/instsetoo_native/inc_common/windows/msi_templates/Binary/Banner.bmp differ diff --git a/instsetoo_native/inc_common/windows/msi_templates/Binary/Image.bmp b/instsetoo_native/inc_common/windows/msi_templates/Binary/Image.bmp index b4210d131ba2..2703670952bd 100644 Binary files a/instsetoo_native/inc_common/windows/msi_templates/Binary/Image.bmp and b/instsetoo_native/inc_common/windows/msi_templates/Binary/Image.bmp differ commit 90b4484bb62a6e3d351b388fbd0284b6da81ef5f Author: Katarina Behrens <katarina.behr...@cib.de> Date: Tue Feb 9 11:09:30 2016 +0100 Branded application icons sadly, this doesn't replace Windows taskbar icon, that must be living somewhere else. It works on Linux though. Conflicts: icon-themes/galaxy/res/main128.png icon-themes/galaxy/res/mainapp_16.png icon-themes/galaxy/res/mainapp_16_8.png icon-themes/galaxy/res/mainapp_32.png icon-themes/galaxy/res/mainapp_32_8.png icon-themes/galaxy/res/mainapp_48_8.png Change-Id: I028fc68d96f02113622c5e1ec3ed830ac797be0b diff --git a/icon-themes/galaxy/res/main128.png b/icon-themes/galaxy/res/main128.png index 2779337e7b0a..818b7330c25b 100644 Binary files a/icon-themes/galaxy/res/main128.png and b/icon-themes/galaxy/res/main128.png differ diff --git a/icon-themes/galaxy/res/mainapp_16.png b/icon-themes/galaxy/res/mainapp_16.png old mode 100755 new mode 100644 index 4a96735b6bb6..13945eeadfd4 Binary files a/icon-themes/galaxy/res/mainapp_16.png and b/icon-themes/galaxy/res/mainapp_16.png differ diff --git a/icon-themes/galaxy/res/mainapp_16_8.png b/icon-themes/galaxy/res/mainapp_16_8.png index 94abb952996b..13945eeadfd4 100644 Binary files a/icon-themes/galaxy/res/mainapp_16_8.png and b/icon-themes/galaxy/res/mainapp_16_8.png differ diff --git a/icon-themes/galaxy/res/mainapp_32.png b/icon-themes/galaxy/res/mainapp_32.png index 88e4e1c8f18f..c653935c0c6b 100755 Binary files a/icon-themes/galaxy/res/mainapp_32.png and b/icon-themes/galaxy/res/mainapp_32.png differ diff --git a/icon-themes/galaxy/res/mainapp_32_8.png b/icon-themes/galaxy/res/mainapp_32_8.png index 2c8a21fbcf3b..c653935c0c6b 100644 Binary files a/icon-themes/galaxy/res/mainapp_32_8.png and b/icon-themes/galaxy/res/mainapp_32_8.png differ diff --git a/icon-themes/galaxy/res/mainapp_48_8.png b/icon-themes/galaxy/res/mainapp_48_8.png index cdebedf6a051..562ea23e89c2 100644 Binary files a/icon-themes/galaxy/res/mainapp_48_8.png and b/icon-themes/galaxy/res/mainapp_48_8.png differ commit ed5e3cca1bb23b58d74ef7d31f8a8fcbeba0b5c0 Author: Katarina Behrens <katarina.behr...@cib.de> Date: Tue Feb 9 10:38:29 2016 +0100 Point to CIB helpdesk it's pretty mean, b/c German translation (which I can't change) says the site is in English, while CIB site is in German only and can't be switched to other lang Conflicts: sfx2/source/appl/appserv.cxx Change-Id: Ifbbb9e9d2bbee40998c07d1c68b61cd20d77dbc3 diff --git a/sfx2/source/appl/appserv.cxx b/sfx2/source/appl/appserv.cxx index 7ed64646e37f..d23fd2c88c4e 100644 --- a/sfx2/source/appl/appserv.cxx +++ b/sfx2/source/appl/appserv.cxx @@ -489,7 +489,7 @@ void SfxApplication::MiscExec_Impl( SfxRequest& rReq ) case SID_SEND_FEEDBACK: { OUString module = SfxHelp::GetCurrentModuleIdentifier(); - OUString sURL("https://hub.libreoffice.org/send-feedback/?LOversion=" + utl::ConfigManager::getAboutBoxProductVersion() + + OUString sURL("https://libreoffice.cib.de/support?LOversion=" + utl::ConfigManager::getAboutBoxProductVersion() + "&LOlocale=" + utl::ConfigManager::getLocale() + "&LOmodule=" + module.copy(module.lastIndexOf('.') + 1 ) ); sfx2::openUriExternally(sURL, false); break; commit e5368d824483106846d6f007b6a74a540c544328 Author: Katarina Behrens <katarina.behr...@cib.de> Date: Tue Feb 9 10:00:30 2016 +0100 Point to CIB website this idiotic postprocess script hard-codes libreoffice.org for some reason, grr Change-Id: Ide1f19d4da9a437e01118e8baf74c0d1a8ca2e10 diff --git a/instsetoo_native/util/openoffice.lst.in b/instsetoo_native/util/openoffice.lst.in index 24bb9761f7f0..1dfa37a94ee3 100644 --- a/instsetoo_native/util/openoffice.lst.in +++ b/instsetoo_native/util/openoffice.lst.in @@ -69,7 +69,7 @@ LibreOffice CHANGETARGETDIR 1 PATCHCODEFILE ooo_patchcodes.txt STARTCENTER_ADDFEATURE_URL http://extensions.libreoffice.org/ - STARTCENTER_INFO_URL https://www.libreoffice.org/ + STARTCENTER_INFO_URL http://libreoffice.cib.de/ STARTCENTER_TEMPLREP_URL http://templates.libreoffice.org/ DICT_REPO_URL http://extensions.libreoffice.org/dictionaries/ STARTCENTER_HIDE_EXTERNAL_LINKS 0 @@ -122,7 +122,7 @@ LibreOfficeDev CODEFILENAME codes_ooodev.txt LOCALUSERDIR $ORIGIN/.. STARTCENTER_ADDFEATURE_URL http://extensions.libreoffice.org/ - STARTCENTER_INFO_URL https://www.libreoffice.org/ + STARTCENTER_INFO_URL http://libreoffice.cib.de/ STARTCENTER_TEMPLREP_URL http://templates.libreoffice.org/ DICT_REPO_URL http://extensions.libreoffice.org/dictionaries/ STARTCENTER_HIDE_EXTERNAL_LINKS 0 @@ -164,7 +164,7 @@ LibreOffice_SDK CHANGETARGETDIR 1 DONTUSESTARTMENUFOLDER 1 STARTCENTER_ADDFEATURE_URL http://extensions.libreoffice.org/ - STARTCENTER_INFO_URL https://www.libreoffice.org/ + STARTCENTER_INFO_URL http://libreoffice.cib.de/ STARTCENTER_TEMPLREP_URL http://templates.libreoffice.org/ DICT_REPO_URL http://extensions.libreoffice.org/dictionaries/ STARTCENTER_HIDE_EXTERNAL_LINKS 0 @@ -210,7 +210,7 @@ LibreOfficeDev_SDK CHANGETARGETDIR 1 DONTUSESTARTMENUFOLDER 1 STARTCENTER_ADDFEATURE_URL http://extensions.libreoffice.org/ - STARTCENTER_INFO_URL https://www.libreoffice.org/ + STARTCENTER_INFO_URL http://libreoffice.cib.de/ STARTCENTER_TEMPLREP_URL http://templates.libreoffice.org/ DICT_REPO_URL http://extensions.libreoffice.org/dictionaries/ STARTCENTER_HIDE_EXTERNAL_LINKS 0 diff --git a/postprocess/CustomTarget_registry.mk b/postprocess/CustomTarget_registry.mk index 125ce505c18e..fb7a0502ec02 100644 --- a/postprocess/CustomTarget_registry.mk +++ b/postprocess/CustomTarget_registry.mk @@ -550,7 +550,7 @@ postprocess_main_SED := \ -e 's,$${PRODUCTVERSION},$(PRODUCTVERSION),g' \ -e 's,$${PRODUCTEXTENSION},.$(LIBO_VERSION_MICRO).$(LIBO_VERSION_PATCH)$(LIBO_VERSION_SUFFIX),g' \ -e 's,$${STARTCENTER_ADDFEATURE_URL},http://extensions.libreoffice.org/,g' \ - -e 's,$${STARTCENTER_INFO_URL},https://www.libreoffice.org/,g' \ + -e 's,$${STARTCENTER_INFO_URL},http://libreoffice.cib.de/,g' \ -e 's,$${STARTCENTER_HIDE_EXTERNAL_LINKS},0,g' \ -e 's,$${STARTCENTER_TEMPLREP_URL},http://templates.libreoffice.org/,g' \ -e 's,$${SYSTEM_LIBEXTTEXTCAT_DATA},$(SYSTEM_LIBEXTTEXTCAT_DATA),g' \ diff --git a/svtools/source/misc/langhelp.cxx b/svtools/source/misc/langhelp.cxx index 16a3a1d8191c..24b066a9dac3 100644 --- a/svtools/source/misc/langhelp.cxx +++ b/svtools/source/misc/langhelp.cxx @@ -16,6 +16,7 @@ void localizeWebserviceURI( OUString& rURI ) { + const OUString aPrefix = "?lang="; OUString aLang = Application::GetSettings().GetUILanguageTag().getLanguage(); if ( aLang.equalsIgnoreAsciiCase("pt") && Application::GetSettings().GetUILanguageTag().getCountry().equalsIgnoreAsciiCase("br") ) @@ -30,6 +31,7 @@ void localizeWebserviceURI( OUString& rURI ) aLang = "zh-tw"; } + rURI += aPrefix; rURI += aLang; } commit c97be9ac4abb32211a32da9767dfe18d5c00ca55 Author: Katarina Behrens <katarina.behr...@cib.de> Date: Mon Sep 21 13:47:57 2015 +0200 CIB branding for start center Change-Id: I9887fded72131c7888d6e1b1165a778c8da2952d diff --git a/icon-themes/galaxy/sfx2/res/logo.png b/icon-themes/galaxy/sfx2/res/logo.png index 9ba6acaaaa0d..1f215d3ba8d0 100644 Binary files a/icon-themes/galaxy/sfx2/res/logo.png and b/icon-themes/galaxy/sfx2/res/logo.png differ diff --git a/icon-themes/galaxy/sfx2/res/startcenter-logo.png b/icon-themes/galaxy/sfx2/res/startcenter-logo.png index 78bc4ebd9e20..ef903fb008a0 100644 Binary files a/icon-themes/galaxy/sfx2/res/startcenter-logo.png and b/icon-themes/galaxy/sfx2/res/startcenter-logo.png differ diff --git a/icon-themes/galaxy/sfx2/res/startcenter-logo.svg b/icon-themes/galaxy/sfx2/res/startcenter-logo.svg new file mode 100644 index 000000000000..e1c80e595d6a --- /dev/null +++ b/icon-themes/galaxy/sfx2/res/startcenter-logo.svg @@ -0,0 +1,144 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + id="svg3360" + version="1.1" + inkscape:version="0.91 r13725" + width="368.00235" + height="116.34795" + viewBox="0 0 368.00235 116.34795" + sodipodi:docname="startcenter-logo.svg"> + <metadata + id="metadata3366"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <defs + id="defs3364"> + <clipPath + clipPathUnits="userSpaceOnUse" + id="clipPath3372"> + <rect + style="fill:#ffd5d5" + id="rect3374" + width="368.00235" + height="116.34795" + x="2.077642" + y="105.41204" /> + </clipPath> + </defs> + <sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="1920" + inkscape:window-height="1173" + id="namedview3362" + showgrid="false" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" + inkscape:zoom="0.96262974" + inkscape:cx="182.96235" + inkscape:cy="110.88" + inkscape:window-x="1911" + inkscape:window-y="-9" + inkscape:window-maximized="1" + inkscape:current-layer="svg3360" /> + <image + width="370.07999" + height="221.75999" + preserveAspectRatio="none" + xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgIAAAE0CAYAAABejlvhAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz +AAATOQAAEzkBj8JWAQAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAA2VSURB +VHic7d17tJV1mcDx58ABEVkKjnhhLaTERhGJCW+V5n2p43U0Fa8BXijzlrryMs6k2aRLTYs0zBjN +0WLQaTIgkTFRtPKaISZKyk1BFLnfDwcOzB/qck7vFhTOfvdxns/nz9+zOe/DX+e79tnvfuuGdu+1 +LgCAlNrUegEAoHaEAAAkJgQAIDEhAACJCQEASEwIAEBiQgAAEhMCAJCYEACAxIQAACQmBAAgMSEA +AIkJAQBITAgAQGJCAAASEwIAkJgQAIDEhAAAJCYEACAxIQAAiQkBAEhMCABAYkIAABITAgCQmBAA +gMSEAAAkJgQAIDEhAACJCQEASEwIAEBiQgAAEhMCAJCYEACAxIQAACQmBAAgMSEAAIkJAQBITAgA +QGJCAAASEwIAkJgQAIDEhAAAJCYEACAxIQAAiQkBAEhMCABAYkIAABITAgCQmBAAgMSEAAAkJgQA +IDEhAACJCQEASEwIAEBiQgAAEhMCAJCYEACAxIQAACQmBAAgMSEAAIkJAQBITAgAQGJCAAASEwIA +kJgQAIDEhAAAJCYEACAxIQAAiQkBAEhMCABAYkIAABITAgCQmBAAgMSEAAAkJgQAIDEhAACJCQEA +SEwIAEBiQgAAEhMCAJCYEACAxIQAACQmBAAgMSEAAIkJAQBITAgAQGJCAAASEwIAkJgQAIDEhAAA +JCYEACAxIQAAiQkBAEhMCABAYkIAABITAgCQmBAAgMSEAAAkJgQAIDEhAACJCQEASEwIAEBiQgAA +EhMCAJCYEACAxIQAACQmBAAgMSEAAIkJAQBITAgAQGJCAAASEwIAkJgQAIDEhAAAJCYEACAxIQAA +iQkBAEhMCABAYkIAABITAgCQmBAAgMSEAAAkJgQAIDEhAACJCQEASEwIAEBiQgAAEhMCAJCYEACA +xIQAACQmBAAgMSEAAIkJAQBITAgAQGJCAAASEwIAkJgQAIDEhAAAJCYEACAxIQAAiQkBAEhMCABA +YkIAABITAgCQmBAAgMSEAAAkJgQAIDEhAACJCQEASEwIAEBiQgAAEhMCAJCYEACAxIQAACQmBAAg +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 +i6MwXbQAAAAASUVORK5CYII= +" + id="image3368" + x="0" + y="0" + clip-path="url(#clipPath3372)" + transform="translate(-2.077642,-105.41204)" /> +</svg> diff --git a/officecfg/registry/schema/org/openoffice/Office/Common.xcs b/officecfg/registry/schema/org/openoffice/Office/Common.xcs index f9ea2cb3ae3a..edee0d25ae48 100644 --- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs +++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs @@ -3547,14 +3547,14 @@ <info> <desc>Specifies the background color of the start center.</desc> </info> - <value>14540253</value> + <value>9903402</value> </prop> <prop oor:name="StartCenterTextColor" oor:type="xs:int" oor:nillable="false"> <!-- Default 3355443 = 0x333333 as specified in tdf#90452, comment 45 --> <info> <desc>Specifies the text color of the buttons in the start center.</desc> </info> - <value>3355443</value> + <value>15658734</value> </prop> <prop oor:name="StartCenterThumbnailsBackgroundColor" oor:type="xs:int" oor:nillable="false"> <!-- Default 6710886 = 0x666666 as specified in tdf#90452, comment 45 --> commit f066b54fb4af1d3f08242d81dd08100b7266eaaf Author: Paul Trojahn <paul.troj...@gmail.com> Date: Thu Jun 21 15:51:05 2018 +0200 tdf#115233 Don't reset crop when replacing a graphic When passing DND_ACTION_MOVE to View::InsertGraphic, the whole object gets replaced. DND_ACTION_LINK should be used, because it just replaces the graphic and keeps crop information. Marking the object is not needed, because InsertObjectAtView and ReplaceObjectAtView already take care of that. Change-Id: I0d829ec39a9d484a7c8946252e90eddb12ea9756 Reviewed-on: https://gerrit.libreoffice.org/56401 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> (cherry picked from commit 3f3c16e433f727bf52a6f894956b489187ab6dce) Reviewed-on: https://gerrit.libreoffice.org/56838 Reviewed-by: Paul Trojahn <paul.troj...@gmail.com> Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de> diff --git a/sd/source/ui/func/fuinsert.cxx b/sd/source/ui/func/fuinsert.cxx index e0ad64bd7169..39d3e89458c1 100644 --- a/sd/source/ui/func/fuinsert.cxx +++ b/sd/source/ui/func/fuinsert.cxx @@ -156,18 +156,13 @@ void FuInsertGraphic::DoExecute( SfxRequest& rReq ) if( mpViewShell && dynamic_cast< DrawViewShell *>( mpViewShell ) != nullptr) { sal_Int8 nAction = DND_ACTION_COPY; - SdrObject* pPickObj = mpView->GetEmptyPresentationObject( PRESOBJ_GRAPHIC ); - bool bSelectionReplaced(false); + SdrObject* pPickObj; - if( pPickObj ) + if( ( ( pPickObj = mpView->GetSelectedSingleObject( mpView->GetPage() ) ) && mbReplaceExistingImage ) || (pPickObj = mpView->GetEmptyPresentationObject( PRESOBJ_GRAPHIC ) ) ) { nAction = DND_ACTION_LINK; - } - else if(mbReplaceExistingImage && mpView->GetMarkedObjectCount() == 1) - { - pPickObj = mpView->GetMarkedObjectByIndex(0); - nAction = DND_ACTION_MOVE; - bSelectionReplaced = true; + } else { + pPickObj = nullptr; } Point aPos; @@ -203,11 +198,6 @@ void FuInsertGraphic::DoExecute( SfxRequest& rReq ) } pGrafObj->SetGraphicLink(aFileName, aReferer, aFilterName); } - - if(bSelectionReplaced && pGrafObj) - { - mpView->MarkObj(pGrafObj, mpView->GetSdrPageView()); - } } } else commit aadbe0e83c0ae0190e1bc36360893fce8f8a2b68 Author: Justin Luth <justin.l...@collabora.com> Date: Tue Jun 19 11:02:07 2018 +0300 NFC oox export shape: move replicated code into function Reviewed-on: https://gerrit.libreoffice.org/56083 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> Reviewed-by: Justin Luth <justin_l...@sil.org> (cherry picked from commit 3ef18b28ade43a38bb46a2400e4e81a9ae8796bc) Reviewed-on: https://gerrit.libreoffice.org/56137 Change-Id: I1d306769bee8390626b513c63c5b889ba3d3d3d6 Reviewed-on: https://gerrit.libreoffice.org/56750 Reviewed-by: Justin Luth <justin_l...@sil.org> Tested-by: Jenkins Reviewed-by: Szymon Kłos <szymon.k...@collabora.com> diff --git a/include/oox/export/shapes.hxx b/include/oox/export/shapes.hxx index 5c1d7d860ca7..e56bd570512c 100644 --- a/include/oox/export/shapes.hxx +++ b/include/oox/export/shapes.hxx @@ -25,6 +25,7 @@ #include <unordered_map> #include <com/sun/star/awt/Size.hpp> +#include <com/sun/star/table/BorderLine2.hpp> #include <com/sun/star/uno/Reference.hxx> #include <oox/dllapi.h> #include <oox/export/drawingml.hxx> @@ -216,6 +217,7 @@ public: void WriteTableCellProperties(const css::uno::Reference< css::beans::XPropertySet >& rXPropSet); + void WriteBorderLine(const sal_Int32 XML_line, const css::table::BorderLine2& rBorderLine); void WriteTableCellBorders(const css::uno::Reference< css::beans::XPropertySet >& rXPropSet); sal_Int32 GetNewShapeID( const css::uno::Reference< css::drawing::XShape >& rShape ); diff --git a/oox/source/export/shapes.cxx b/oox/source/export/shapes.cxx index a80809c663e2..2f0f142995dc 100644 --- a/oox/source/export/shapes.cxx +++ b/oox/source/export/shapes.cxx @@ -76,7 +76,6 @@ #include <com/sun/star/table/XMergeableCell.hpp> #include <com/sun/star/chart2/XChartDocument.hpp> #include <com/sun/star/frame/XModel.hpp> -#include <com/sun/star/table/BorderLine2.hpp> #include <tools/stream.hxx> #include <tools/globname.hxx> #include <comphelper/classids.hxx> @@ -1727,68 +1726,41 @@ void ShapeExport::WriteTableCellProperties(const Reference< XPropertySet>& xCell mpFS->endElementNS( XML_a, XML_tcPr ); } -void ShapeExport::WriteTableCellBorders(const Reference< XPropertySet>& xCellPropSet) +void ShapeExport::WriteBorderLine(const sal_Int32 XML_line, const BorderLine2& rBorderLine) { - BorderLine2 aBorderLine; - -// lnL - Left Border Line Properties of table cell - xCellPropSet->getPropertyValue("LeftBorder") >>= aBorderLine; - sal_Int32 nLeftBorder = aBorderLine.LineWidth; - util::Color aLeftBorderColor = aBorderLine.Color; - // While importing the table cell border line width, it converts EMU->Hmm then divided result by 2. // To get original value of LineWidth need to multiple by 2. - nLeftBorder = nLeftBorder*2; - nLeftBorder = oox::drawingml::convertHmmToEmu( nLeftBorder ); + sal_Int32 nBorderWidth = rBorderLine.LineWidth; + nBorderWidth *= 2; + nBorderWidth = oox::drawingml::convertHmmToEmu( nBorderWidth ); - if(nLeftBorder > 0) + if ( nBorderWidth > 0 ) { - mpFS->startElementNS( XML_a, XML_lnL, XML_w, I32S(nLeftBorder), FSEND ); - DrawingML::WriteSolidFill(aLeftBorderColor); - mpFS->endElementNS( XML_a, XML_lnL ); + mpFS->startElementNS( XML_a, XML_line, XML_w, I32S(nBorderWidth), FSEND ); + DrawingML::WriteSolidFill( util::Color(rBorderLine.Color) ); + mpFS->endElementNS( XML_a, XML_line ); } +} + +void ShapeExport::WriteTableCellBorders(const Reference< XPropertySet>& xCellPropSet) +{ + BorderLine2 aBorderLine; + +// lnL - Left Border Line Properties of table cell + xCellPropSet->getPropertyValue("LeftBorder") >>= aBorderLine; + WriteBorderLine( XML_lnL, aBorderLine ); // lnR - Right Border Line Properties of table cell xCellPropSet->getPropertyValue("RightBorder") >>= aBorderLine; - sal_Int32 nRightBorder = aBorderLine.LineWidth; - util::Color aRightBorderColor = aBorderLine.Color; - nRightBorder = nRightBorder * 2 ; - nRightBorder = oox::drawingml::convertHmmToEmu( nRightBorder ); - - if(nRightBorder > 0) - { - mpFS->startElementNS( XML_a, XML_lnR, XML_w, I32S(nRightBorder), FSEND); - DrawingML::WriteSolidFill(aRightBorderColor); - mpFS->endElementNS( XML_a, XML_lnR); - } + WriteBorderLine( XML_lnR, aBorderLine ); // lnT - Top Border Line Properties of table cell xCellPropSet->getPropertyValue("TopBorder") >>= aBorderLine; - sal_Int32 nTopBorder = aBorderLine.LineWidth; - util::Color aTopBorderColor = aBorderLine.Color; - nTopBorder = nTopBorder * 2; - nTopBorder = oox::drawingml::convertHmmToEmu( nTopBorder ); - - if(nTopBorder > 0) - { - mpFS->startElementNS( XML_a, XML_lnT, XML_w, I32S(nTopBorder), FSEND); - DrawingML::WriteSolidFill(aTopBorderColor); - mpFS->endElementNS( XML_a, XML_lnT); - } + WriteBorderLine( XML_lnT, aBorderLine ); // lnB - Bottom Border Line Properties of table cell xCellPropSet->getPropertyValue("BottomBorder") >>= aBorderLine; - sal_Int32 nBottomBorder = aBorderLine.LineWidth; - util::Color aBottomBorderColor = aBorderLine.Color; - nBottomBorder = nBottomBorder * 2; - nBottomBorder = oox::drawingml::convertHmmToEmu( nBottomBorder ); - - if(nBottomBorder > 0) - { - mpFS->startElementNS( XML_a, XML_lnB, XML_w, I32S(nBottomBorder), FSEND); - DrawingML::WriteSolidFill(aBottomBorderColor); - mpFS->endElementNS( XML_a, XML_lnB); - } + WriteBorderLine( XML_lnB, aBorderLine ); } ShapeExport& ShapeExport::WriteTableShape( const Reference< XShape >& xShape ) commit 0cefb4f0552a9d1ec3afd64e695596480a1c9757 Author: Caolán McNamara <caol...@redhat.com> Date: Tue Jun 19 21:43:43 2018 +0100 forcepoint#50 fix end detection rBuffer.size() of 26, nBytes of 25, rBuffer[25] is the first zero so aLine.getLength() of 25, nBytes reduced by aLine.getLength()+1 and nRun increased by same, so nBytes wraps and nRun is 26. contains... forcepoint: rework to explore loop Change-Id: I14f6a3269fc3347a9976d899519e74f58d5975c8 Reviewed-on: https://gerrit.libreoffice.org/56125 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> Tested-by: Caolán McNamara <caol...@redhat.com> (cherry picked from commit 6e5e83025c948b699bb65839ef810a45a98ba014) Change-Id: Ia9f4789e081e6b77a21321f37d71cabfc7c84550 Reviewed-on: https://gerrit.libreoffice.org/56481 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.st...@cib.de> diff --git a/include/vcl/ppdparser.hxx b/include/vcl/ppdparser.hxx index a3a04b86fdff..2cac587cd1c0 100644 --- a/include/vcl/ppdparser.hxx +++ b/include/vcl/ppdparser.hxx @@ -269,7 +269,7 @@ public: // for printer setup char* getStreamableBuffer( sal_uLong& rBytes ) const; - void rebuildFromStreamBuffer( char* pBuffer, sal_uLong nBytes ); + void rebuildFromStreamBuffer(const std::vector<char> &rBuffer); // convenience int getRenderResolution() const; diff --git a/vcl/unx/generic/printer/jobdata.cxx b/vcl/unx/generic/printer/jobdata.cxx index 92f9204b51e2..43e33bc22d0d 100644 --- a/vcl/unx/generic/printer/jobdata.cxx +++ b/vcl/unx/generic/printer/jobdata.cxx @@ -279,8 +279,9 @@ bool JobData::constructFromStreamBuffer( const void* pData, sal_uInt32 bytes, Jo nBytes = aStream.ReadBytes(aRemain.data(), nBytes); if (nBytes) { + aRemain.resize(nBytes+1); aRemain[nBytes] = 0; - rJobData.m_aContext.rebuildFromStreamBuffer(aRemain.data(), nBytes); + rJobData.m_aContext.rebuildFromStreamBuffer(aRemain); bContext = true; } } diff --git a/vcl/unx/generic/printer/ppdparser.cxx b/vcl/unx/generic/printer/ppdparser.cxx index b81359c8fea5..65a1b1cf30e3 100644 --- a/vcl/unx/generic/printer/ppdparser.cxx +++ b/vcl/unx/generic/printer/ppdparser.cxx @@ -1926,17 +1926,18 @@ char* PPDContext::getStreamableBuffer( sal_uLong& rBytes ) const return pBuffer; } -void PPDContext::rebuildFromStreamBuffer( char* pBuffer, sal_uLong nBytes ) +void PPDContext::rebuildFromStreamBuffer(const std::vector<char> &rBuffer) { if( ! m_pParser ) return; m_aCurrentValues.clear(); - char* pRun = pBuffer; - while( nBytes && *pRun ) + const size_t nBytes = rBuffer.size() - 1; + size_t nRun = 0; + while (nRun < nBytes && rBuffer[nRun]) { - OString aLine( pRun ); + OString aLine(rBuffer.data() + nRun); sal_Int32 nPos = aLine.indexOf(':'); if( nPos != -1 ) { @@ -1955,8 +1956,7 @@ void PPDContext::rebuildFromStreamBuffer( char* pBuffer, sal_uLong nBytes ) << " }"); } } - nBytes -= aLine.getLength()+1; - pRun += aLine.getLength()+1; + nRun += aLine.getLength()+1; } } commit 3aabc93b8a3f55eb0a3f9e413b124fd8deab7e47 Author: Eike Rathke <er...@redhat.com> Date: Mon Dec 18 20:38:59 2017 +0100 Explicitly qualify ICU types with icu:: namespace It will be required by ICU 61 anyway, see https://ssl.icu-project.org/repos/icu/trunk/icu4c/readme.html#RecBuild Change-Id: If7f1330550981fd28eb7eea6329f21e116291cca Reviewed-on: https://gerrit.libreoffice.org/46740 Reviewed-by: Eike Rathke <er...@redhat.com> Tested-by: Eike Rathke <er...@redhat.com> Reviewed-on: https://gerrit.libreoffice.org/56779 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sberg...@redhat.com> diff --git a/lotuswordpro/source/filter/localtime.cxx b/lotuswordpro/source/filter/localtime.cxx index 47d202412724..3805c5d6f973 100644 --- a/lotuswordpro/source/filter/localtime.cxx +++ b/lotuswordpro/source/filter/localtime.cxx @@ -174,7 +174,7 @@ bool LtgLocalTime(long rtime,LtTm& rtm) if ((rtime > 3 * DAY_SEC)&&(rtime < LONG_MAX - 3 * DAY_SEC)) { - TimeZone* pLocalZone = TimeZone::createDefault(); + icu::TimeZone* pLocalZone = icu::TimeZone::createDefault(); long offset = (pLocalZone->getRawOffset())/1000; delete pLocalZone; long ltime = rtime + offset; commit dd9232a6b2bcd32c7279e1476445214c6bb9e417 Author: Thorsten Behrens <thorsten.behr...@cib.de> Date: Thu Jun 28 15:17:40 2018 +0200 ODF1.3: import new OpenPGP encryption markup With OFFICE-3940 the loext markup got accepted for ODF1.3 (and the redundant KeyInfo element removed). Make sure manifest parser can import new markup. Change-Id: Id3c88654e8e6e0e256cd68fbb43f1ef670849cf7 Reviewed-on: https://gerrit.libreoffice.org/56597 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de> (cherry picked from commit a7bf6488ebb544e1efaed0a1e53073df9cc2064d) Reviewed-on: https://gerrit.libreoffice.org/56678 Reviewed-by: Katarina Behrens <katarina.behr...@cib.de> diff --git a/package/source/manifest/ManifestDefines.hxx b/package/source/manifest/ManifestDefines.hxx index c68c241c7514..44c0cb4c5254 100644 --- a/package/source/manifest/ManifestDefines.hxx +++ b/package/source/manifest/ManifestDefines.hxx @@ -46,6 +46,15 @@ #define ATTRIBUTE_ALGORITHM "loext:PGPAlgorithm" #define ELEMENT_CIPHERDATA "loext:CipherData" #define ELEMENT_CIPHERVALUE "loext:CipherValue" +#define ELEMENT_MANIFEST13_KEYINFO "manifest:keyinfo" +#define ELEMENT_ENCRYPTEDKEY13 "manifest:encrypted-key" +#define ELEMENT_ENCRYPTIONMETHOD13 "manifest:encryption-method" +#define ELEMENT_PGPDATA13 "manifest:PGPData" +#define ELEMENT_PGPKEYID13 "manifest:PGPKeyID" +#define ELEMENT_PGPKEYPACKET13 "manifest:PGPKeyPacket" +#define ATTRIBUTE_ALGORITHM13 "manifest:PGPAlgorithm" +#define ELEMENT_CIPHERDATA13 "manifest:CipherData" +#define ELEMENT_CIPHERVALUE13 "manifest:CipherValue" #define ELEMENT_ENCRYPTION_DATA "manifest:encryption-data" #define ATTRIBUTE_CHECKSUM_TYPE "manifest:checksum-type" diff --git a/package/source/manifest/ManifestImport.cxx b/package/source/manifest/ManifestImport.cxx index 98a9d61128b5..fda529838214 100644 --- a/package/source/manifest/ManifestImport.cxx +++ b/package/source/manifest/ManifestImport.cxx @@ -69,6 +69,16 @@ ManifestImport::ManifestImport( vector < Sequence < PropertyValue > > & rNewManV , sCipherDataElement ( ELEMENT_CIPHERDATA ) , sCipherValueElement ( ELEMENT_CIPHERVALUE ) + , sManifestKeyInfoElement13 ( ELEMENT_MANIFEST13_KEYINFO ) + , sEncryptedKeyElement13 ( ELEMENT_ENCRYPTEDKEY13 ) + , sEncryptionMethodElement13 ( ELEMENT_ENCRYPTIONMETHOD13 ) + , sPgpDataElement13 ( ELEMENT_PGPDATA13 ) + , sPgpKeyIDElement13 ( ELEMENT_PGPKEYID13 ) + , sPGPKeyPacketElement13 ( ELEMENT_PGPKEYPACKET13 ) + , sAlgorithmAttribute13 ( ATTRIBUTE_ALGORITHM13 ) + , sCipherDataElement13 ( ELEMENT_CIPHERDATA13 ) + , sCipherValueElement13 ( ELEMENT_CIPHERVALUE13 ) + , sFullPathProperty ( "FullPath" ) , sMediaTypeProperty ( "MediaType" ) , sVersionProperty ( "Version" ) @@ -148,9 +158,10 @@ void ManifestImport::doEncryptedKey(StringHashMap &) aKeyInfoSequence.resize(3); } -void ManifestImport::doEncryptionMethod(StringHashMap &rConvertedAttribs) +void ManifestImport::doEncryptionMethod(StringHashMap &rConvertedAttribs, + const OUString& rAlgoAttrName) { - OUString aString = rConvertedAttribs[sAlgorithmAttribute]; + OUString aString = rConvertedAttribs[rAlgoAttrName]; if ( aKeyInfoSequence.size() != 3 || aString != "http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p" ) { @@ -339,7 +350,9 @@ void SAL_CALL ManifestImport::startElement( const OUString& aName, const uno::Re case 2: { if (aConvertedName == sFileEntryElement) //manifest:file-entry doFileEntry(aConvertedAttribs); - else if (aConvertedName == sManifestKeyInfoElement) //loext:KeyInfo + else if (aConvertedName == sManifestKeyInfoElement) //loext:keyinfo + doKeyInfoEntry(aConvertedAttribs); + else if (aConvertedName == sManifestKeyInfoElement13) //manifest:keyinfo doKeyInfoEntry(aConvertedAttribs); else aStack.back().m_bValid = false; @@ -355,6 +368,8 @@ void SAL_CALL ManifestImport::startElement( const OUString& aName, const uno::Re doEncryptionData(aConvertedAttribs); else if (aConvertedName == sEncryptedKeyElement) //loext:encrypted-key doEncryptedKey(aConvertedAttribs); + else if (aConvertedName == sEncryptedKeyElement13) //manifest:encrypted-key + doEncryptedKey(aConvertedAttribs); else aStack.back().m_bValid = false; break; @@ -372,11 +387,17 @@ void SAL_CALL ManifestImport::startElement( const OUString& aName, const uno::Re else if (aConvertedName == sStartKeyAlgElement) //manifest:start-key-generation doStartKeyAlg(aConvertedAttribs); else if (aConvertedName == sEncryptionMethodElement) //loext:encryption-method - doEncryptionMethod(aConvertedAttribs); + doEncryptionMethod(aConvertedAttribs, sAlgorithmAttribute); + else if (aConvertedName == sEncryptionMethodElement13) //manifest:encryption-method + doEncryptionMethod(aConvertedAttribs, sAlgorithmAttribute13); else if (aConvertedName == sKeyInfoElement) //loext:KeyInfo doEncryptedKeyInfo(aConvertedAttribs); else if (aConvertedName == sCipherDataElement) //loext:CipherData doEncryptedCipherData(aConvertedAttribs); + else if (aConvertedName == sCipherDataElement13) //manifest:CipherData + doEncryptedCipherData(aConvertedAttribs); + else if (aConvertedName == sPgpDataElement13) //manifest:PGPData + doEncryptedPgpData(aConvertedAttribs); else aStack.back().m_bValid = false; break; @@ -392,6 +413,15 @@ void SAL_CALL ManifestImport::startElement( const OUString& aName, const uno::Re else if (aConvertedName == sCipherValueElement) //loext:CipherValue // ciphervalue action happens on endElement aCurrentCharacters = ""; + else if (aConvertedName == sCipherValueElement13) //manifest:CipherValue + // ciphervalue action happens on endElement + aCurrentCharacters = ""; + else if (aConvertedName == sPgpKeyIDElement13) //manifest:PGPKeyID + // ciphervalue action happens on endElement + aCurrentCharacters = ""; + else if (aConvertedName == sPGPKeyPacketElement13) //manifest:PGPKeyPacket + // ciphervalue action happens on endElement + aCurrentCharacters = ""; else aStack.back().m_bValid = false; break; @@ -450,7 +480,9 @@ void SAL_CALL ManifestImport::endElement( const OUString& aName ) aSequence.clear(); } - else if ( aConvertedName == sEncryptedKeyElement && aStack.back().m_bValid ) { + else if ( (aConvertedName == sEncryptedKeyElement + || aConvertedName == sEncryptedKeyElement13) + && aStack.back().m_bValid ) { if ( !bIgnoreEncryptData ) { aKeys.push_back( comphelper::containerToSequence(aKeyInfoSequence) ); @@ -464,6 +496,12 @@ void SAL_CALL ManifestImport::endElement( const OUString& aName ) case 5: { if (aConvertedName == sCipherValueElement) //loext:CipherValue doEncryptedCipherValue(); + else if (aConvertedName == sCipherValueElement13) //manifest:CipherValue + doEncryptedCipherValue(); + else if (aConvertedName == sPgpKeyIDElement13) //manifest:PGPKeyID + doEncryptedKeyId(); + else if (aConvertedName == sPGPKeyPacketElement13) //manifest:PGPKeyPacket + doEncryptedKeyPacket(); else aStack.back().m_bValid = false; break; diff --git a/package/source/manifest/ManifestImport.hxx b/package/source/manifest/ManifestImport.hxx index 26f692be9c5b..6661dc70b4e6 100644 --- a/package/source/manifest/ManifestImport.hxx +++ b/package/source/manifest/ManifestImport.hxx @@ -92,6 +92,16 @@ class ManifestImport final : public cppu::WeakImplHelper < css::xml::sax::XDocum const OUString sCipherDataElement; const OUString sCipherValueElement; + const OUString sManifestKeyInfoElement13; + const OUString sEncryptedKeyElement13; + const OUString sEncryptionMethodElement13; + const OUString sPgpDataElement13; + const OUString sPgpKeyIDElement13; + const OUString sPGPKeyPacketElement13; + const OUString sAlgorithmAttribute13; + const OUString sCipherDataElement13; + const OUString sCipherValueElement13; + const OUString sFullPathProperty; const OUString sMediaTypeProperty; const OUString sVersionProperty; @@ -154,7 +164,7 @@ private: void doStartKeyAlg(StringHashMap &rConvertedAttribs); void doKeyInfoEntry(StringHashMap &); void doEncryptedKey(StringHashMap &); - void doEncryptionMethod(StringHashMap &); + void doEncryptionMethod(StringHashMap &, const OUString &); void doEncryptedKeyInfo(StringHashMap &); void doEncryptedCipherData(StringHashMap &); void doEncryptedPgpData(StringHashMap &); diff --git a/xmlsecurity/qa/unit/signing/data/encryptedGPG_odf13.odt b/xmlsecurity/qa/unit/signing/data/encryptedGPG_odf13.odt new file mode 100644 index 000000000000..6bcc43503267 Binary files /dev/null and b/xmlsecurity/qa/unit/signing/data/encryptedGPG_odf13.odt differ diff --git a/xmlsecurity/qa/unit/signing/signing.cxx b/xmlsecurity/qa/unit/signing/signing.cxx index b7cc077d2097..265f0e5acbb0 100644 --- a/xmlsecurity/qa/unit/signing/signing.cxx +++ b/xmlsecurity/qa/unit/signing/signing.cxx @@ -751,11 +751,19 @@ void SigningTest::testODFBrokenDsigGPG() void SigningTest::testODFEncryptedGPG() { + // ODF1.2 + loext flavour createDoc(m_directories.getURLFromSrc(DATA_DIRECTORY) + "encryptedGPG.odt"); SfxBaseModel* pBaseModel = dynamic_cast<SfxBaseModel*>(mxComponent.get()); CPPUNIT_ASSERT(pBaseModel); SfxObjectShell* pObjectShell = pBaseModel->GetObjectShell(); CPPUNIT_ASSERT(pObjectShell); + + // ODF1.3 flavour + createDoc(m_directories.getURLFromSrc(DATA_DIRECTORY) + "encryptedGPG_odf13.odt"); + pBaseModel = dynamic_cast<SfxBaseModel*>(mxComponent.get()); + CPPUNIT_ASSERT(pBaseModel); + pObjectShell = pBaseModel->GetObjectShell(); + CPPUNIT_ASSERT(pObjectShell); } #endif commit 4d06789a836f1a271399cd9955b2cb96030f393a Author: Eike Rathke <er...@redhat.com> Date: Tue Dec 19 15:22:09 2017 +0100 vcl: explicitly qualify ICU types with icu:: namespace It will be required by ICU 61 anyway, see https://ssl.icu-project.org/repos/icu/trunk/icu4c/readme.html#RecBuild Change-Id: Iecb30b903e9a67252147a8cc78c641621d763755 (cherry picked from commit f240332f8e965ea17b70b0ccaa9990ce0a53cfc6) Reviewed-on: https://gerrit.libreoffice.org/56735 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sberg...@redhat.com> diff --git a/vcl/inc/scrptrun.h b/vcl/inc/scrptrun.h index cbe151df491d..46a5c08f3ab5 100644 --- a/vcl/inc/scrptrun.h +++ b/vcl/inc/scrptrun.h @@ -58,7 +58,7 @@ struct ParenStackEntry } }; -class ScriptRun : public UObject { +class ScriptRun : public icu::UObject { public: ScriptRun(const UChar chars[], int32_t length); commit 63ebde2117d768c974252db9c4d9cce1ef4334c6 Author: Eike Rathke <er...@redhat.com> Date: Mon Dec 18 20:33:03 2017 +0100 Explicitly qualify ICU types with icu:: namespace It will be required by ICU 61 anyway, see https://ssl.icu-project.org/repos/icu/trunk/icu4c/readme.html#RecBuild Change-Id: Ia051e8e2aa64b0e32a7f16a2afebaef0e4ebf531 Reviewed-on: https://gerrit.libreoffice.org/46739 Reviewed-by: Eike Rathke <er...@redhat.com> Tested-by: Eike Rathke <er...@redhat.com> (cherry picked from commit ad3b7c27cdc957a8a38876c040e86a81c3cf7003) Reviewed-on: https://gerrit.libreoffice.org/56713 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sberg...@redhat.com> diff --git a/i18nutil/source/utility/unicode.cxx b/i18nutil/source/utility/unicode.cxx index 0173a4ad5fbf..697875b193e3 100644 --- a/i18nutil/source/utility/unicode.cxx +++ b/i18nutil/source/utility/unicode.cxx @@ -750,15 +750,15 @@ OUString SAL_CALL unicode::formatPercent(double dNumber, icu::Locale aLocale = LanguageTagIcu::getIcuLocale(aLangTag); - std::unique_ptr<NumberFormat> xF( - NumberFormat::createPercentInstance(aLocale, errorCode)); + std::unique_ptr<icu::NumberFormat> xF( + icu::NumberFormat::createPercentInstance(aLocale, errorCode)); if(U_FAILURE(errorCode)) { - SAL_WARN("i18n", "NumberFormat::createPercentInstance failed"); + SAL_WARN("i18n", "icu::NumberFormat::createPercentInstance failed"); return OUString::number(dNumber) + "%"; } - UnicodeString output; + icu::UnicodeString output; xF->format(dNumber/100, output); OUString aRet(reinterpret_cast<const sal_Unicode *>(output.getBuffer()), output.length()); commit ec8e973f7e681b0ae25e4b781918dd98ea0e8176 Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Mon Jun 4 16:28:22 2018 +0200 tdf#117866 cui: avoid deadlock in personalization dialog The deadlock happened as the main thread wanted to join SearchAndParseThread (while owning the solar mutex), but SearchAndParseThread wanted to take the solar mutex to import a graphic. Fix the deadlock by checking for the termination flag earlier, so we don't take any new mutexes if termination was requested already. (cherry picked from commit 766c85a4f67f5d50645340e31cebd5956998c6fc) Related: tdf#117866 cui: use std::atomic for thread termination flag (cherry picked from commit f4ac7b5a084a7cf483bb89a2fa411f9df70df4d0) tdf#117866 cui personalization: fix a possible race The case when the thread is re-scheduled exactly after checking for m_bExecute but before taking the solar mutex. (cherry picked from commit f4c73f90da2a2c31f0d29572180aa97e10c3dbad) Change-Id: Idddaadadc693610d9f31a14300b22aff8d452756 Reviewed-on: https://gerrit.libreoffice.org/55347 Reviewed-by: Luboš Luňák <l.lu...@collabora.com> Tested-by: Jenkins diff --git a/cui/source/options/personalization.cxx b/cui/source/options/personalization.cxx index a9ff29edf078..dab788d8b824 100644 --- a/cui/source/options/personalization.cxx +++ b/cui/source/options/personalization.cxx @@ -99,7 +99,13 @@ SelectPersonaDialog::~SelectPersonaDialog() void SelectPersonaDialog::dispose() { if (m_pSearchThread.is()) + { + // Release the solar mutex, so the thread is not affected by the race + // when it's after the m_bExecute check but before taking the solar + // mutex. + SolarMutexReleaser aReleaser; m_pSearchThread->join(); + } m_pEdit.clear(); m_pSearchButton.clear(); @@ -772,14 +778,16 @@ void SearchAndParseThread::execute() continue; } INetURLObject aURLObj( sPreviewFile ); + + // Stop the thread if requested -- before taking the solar mutex. + if( !m_bExecute ) + return; + // for VCL to be able to create bitmaps / do visual changes in the thread SolarMutexGuard aGuard; aFilter.ImportGraphic( aGraphic, aURLObj ); Bitmap aBmp = aGraphic.GetBitmap(); - if( !m_bExecute ) - return; - m_pPersonaDialog->SetImages( Image( aBmp ), nIndex++ ); m_pPersonaDialog->setOptimalLayoutSize(); m_pPersonaDialog->AddPersonaSetting( aPersonaSetting ); diff --git a/cui/source/options/personalization.hxx b/cui/source/options/personalization.hxx index 9d5e057c8c34..5153fc98b1b5 100644 --- a/cui/source/options/personalization.hxx +++ b/cui/source/options/personalization.hxx @@ -16,6 +16,7 @@ #include <vcl/prgsbar.hxx> #include <vector> #include <array> +#include <atomic> #define CATEGORYCOUNT 6 // Number of persona categories @@ -119,7 +120,8 @@ private: VclPtr<SelectPersonaDialog> m_pPersonaDialog; OUString m_aURL; - bool m_bExecute, m_bDirectURL; + std::atomic<bool> m_bExecute; + bool m_bDirectURL; virtual ~SearchAndParseThread() override; virtual void execute() override; commit 8790243df458250b00de67bf6fc892b3fa5660ad Author: Eike Rathke <er...@redhat.com> Date: Mon Dec 18 20:41:30 2017 +0100 Explicitly qualify ICU types with icu:: namespace It will be required by ICU 61 anyway, see https://ssl.icu-project.org/repos/icu/trunk/icu4c/readme.html#RecBuild Change-Id: Ib7accd75a6e35932048d779cf7bf0a5a33f8ed0d Reviewed-on: https://gerrit.libreoffice.org/46741 Reviewed-by: Eike Rathke <er...@redhat.com> Tested-by: Eike Rathke <er...@redhat.com> (cherry picked from commit 8960ecc689ce41cfaa40b65d75830d7491b06463) Reviewed-on: https://gerrit.libreoffice.org/56680 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sberg...@redhat.com> diff --git a/opencl/source/openclconfig.cxx b/opencl/source/openclconfig.cxx index b81ffed22937..0ec2347fb332 100644 --- a/opencl/source/openclconfig.cxx +++ b/opencl/source/openclconfig.cxx @@ -119,7 +119,7 @@ bool match(const OUString& rPattern, const OUString& rInput) UErrorCode nIcuError(U_ZERO_ERROR); icu::UnicodeString sIcuPattern(reinterpret_cast<const UChar*>(rPattern.getStr()), rPattern.getLength()); icu::UnicodeString sIcuInput(reinterpret_cast<const UChar*>(rInput.getStr()), rInput.getLength()); - RegexMatcher aMatcher(sIcuPattern, sIcuInput, 0, nIcuError); + icu::RegexMatcher aMatcher(sIcuPattern, sIcuInput, 0, nIcuError); return U_SUCCESS(nIcuError) && aMatcher.matches(nIcuError) && U_SUCCESS(nIcuError); } commit f764237989d8aa081a30b3518add39af4bb23632 Author: Michael Stahl <michael.st...@cib.de> Date: Thu Jun 28 18:30:28 2018 +0200 python3: upgrade to release 3.5.5 Fixes CVE-2017-1000158. Change-Id: I1871f031e3431253a3403f2ea2b586bcc4aa1016 Reviewed-on: https://gerrit.libreoffice.org/56609 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.st...@cib.de> (cherry picked from commit 744feb55a11263ae0947ab59db76b949b5863acf) Reviewed-on: https://gerrit.libreoffice.org/56673 Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de> diff --git a/configure.ac b/configure.ac index 9da61d9f3dff..d7e6c4640c11 100644 --- a/configure.ac +++ b/configure.ac @@ -8059,7 +8059,7 @@ internal) SYSTEM_PYTHON= PYTHON_VERSION_MAJOR=3 PYTHON_VERSION_MINOR=5 - PYTHON_VERSION=${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}.4 + PYTHON_VERSION=${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}.5 if ! grep -q -i python.*${PYTHON_VERSION} ${SRC_ROOT}/download.lst; then AC_MSG_ERROR([PYTHON_VERSION ${PYTHON_VERSION} but no matching file in download.lst]) fi diff --git a/download.lst b/download.lst index fdac8ed6eb99..c188edb2b54e 100644 --- a/download.lst +++ b/download.lst @@ -206,8 +206,8 @@ export POPPLER_SHA256SUM := 2c096431adfb74bc2f53be466889b7646e1b599f28fa036094f3 export POPPLER_TARBALL := poppler-0.66.0.tar.xz export POSTGRESQL_SHA256SUM := db61d498105a7d5fe46185e67ac830c878cdd7dc1f82a87f06b842217924c461 export POSTGRESQL_TARBALL := c0b4799ea9850eae3ead14f0a60e9418-postgresql-9.2.1.tar.bz2 -export PYTHON_SHA256SUM := 6ed87a8b6c758cc3299a8b433e8a9a9122054ad5bc8aad43299cff3a53d8ca44 -export PYTHON_TARBALL := Python-3.5.4.tgz +export PYTHON_SHA256SUM := 063d2c3b0402d6191b90731e0f735c64830e7522348aeb7ed382a83165d45009 +export PYTHON_TARBALL := Python-3.5.5.tar.xz export QXP_SHA256SUM := 8c257f6184ff94aefa7c9fa1cfae82083d55a49247266905c71c53e013f95c73 export QXP_TARBALL := libqxp-0.0.1.tar.xz export RAPTOR_SHA256SUM := ada7f0ba54787b33485d090d3d2680533520cd4426d2f7fb4782dd4a6a1480ed commit cc0b086988c23525f6f7825cb735e8a0d1c54720 Author: Eike Rathke <er...@redhat.com> Date: Mon Dec 18 20:28:07 2017 +0100 Explicitly qualify ICU types with icu:: namespace It will be required by ICU 61 anyway, see https://ssl.icu-project.org/repos/icu/trunk/icu4c/readme.html#RecBuild Change-Id: I16b6bc8b8c49713f32424df5fc6db494df7b6892 Reviewed-on: https://gerrit.libreoffice.org/46738 Reviewed-by: Eike Rathke <er...@redhat.com> Tested-by: Eike Rathke <er...@redhat.com> (cherry picked from commit f7961456d81c3ee6ee4c13eac9ef7add6c7ea6b5) Reviewed-on: https://gerrit.libreoffice.org/56664 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sberg...@redhat.com> diff --git a/i18npool/inc/collator_unicode.hxx b/i18npool/inc/collator_unicode.hxx index 69d317797870..d943bc9bc2c1 100644 --- a/i18npool/inc/collator_unicode.hxx +++ b/i18npool/inc/collator_unicode.hxx @@ -63,7 +63,7 @@ public: private: const sal_Char *implementationName; - RuleBasedCollator *uca_base, *collator; + icu::RuleBasedCollator *uca_base, *collator; #ifndef DISABLE_DYNLOADING oslModule hModule; #endif diff --git a/i18npool/source/breakiterator/breakiterator_unicode.cxx b/i18npool/source/breakiterator/breakiterator_unicode.cxx index b4ca111179c1..77fabbfce84b 100644 --- a/i18npool/source/breakiterator/breakiterator_unicode.cxx +++ b/i18npool/source/breakiterator/breakiterator_unicode.cxx @@ -56,14 +56,14 @@ BreakIterator_Unicode::~BreakIterator_Unicode() } /* - Wrapper class to provide public access to the RuleBasedBreakIterator's + Wrapper class to provide public access to the icu::RuleBasedBreakIterator's setbreakType method. */ -class OOoRuleBasedBreakIterator : public RuleBasedBreakIterator +class OOoRuleBasedBreakIterator : public icu::RuleBasedBreakIterator { public: #if (U_ICU_VERSION_MAJOR_NUM < 58) - // RuleBasedBreakIterator::setBreakType() is private as of ICU 58. + // icu::RuleBasedBreakIterator::setBreakType() is private as of ICU 58. void publicSetBreakType(int32_t type) { setBreakType(type); @@ -71,7 +71,7 @@ class OOoRuleBasedBreakIterator : public RuleBasedBreakIterator #endif OOoRuleBasedBreakIterator(UDataMemory* image, UErrorCode &status) - : RuleBasedBreakIterator(image, status) + : icu::RuleBasedBreakIterator(image, status) { }; }; @@ -334,7 +334,7 @@ sal_Int32 SAL_CALL BreakIterator_Unicode::nextCharacters( const OUString& Text, icu::BreakIterator* pBI = character.mpValue->mpBreakIterator.get(); for (nDone = 0; nDone < nCount; nDone++) { nStartPos = pBI->following(nStartPos); - if (nStartPos == BreakIterator::DONE) + if (nStartPos == icu::BreakIterator::DONE) return Text.getLength(); } } else { // for CHARACTER mode @@ -353,7 +353,7 @@ sal_Int32 SAL_CALL BreakIterator_Unicode::previousCharacters( const OUString& Te icu::BreakIterator* pBI = character.mpValue->mpBreakIterator.get(); for (nDone = 0; nDone < nCount; nDone++) { nStartPos = pBI->preceding(nStartPos); - if (nStartPos == BreakIterator::DONE) + if (nStartPos == icu::BreakIterator::DONE) return 0; } } else { // for BS to delete one char and CHARACTER mode. @@ -371,7 +371,7 @@ Boundary SAL_CALL BreakIterator_Unicode::nextWord( const OUString& Text, sal_Int Boundary rv; rv.startPos = icuBI->mpValue->mpBreakIterator->following(nStartPos); - if( rv.startPos >= Text.getLength() || rv.startPos == BreakIterator::DONE ) + if( rv.startPos >= Text.getLength() || rv.startPos == icu::BreakIterator::DONE ) rv.endPos = result.startPos; else { if ( (rWordType == WordType::ANYWORD_IGNOREWHITESPACES || @@ -380,7 +380,7 @@ Boundary SAL_CALL BreakIterator_Unicode::nextWord( const OUString& Text, sal_Int rv.startPos = icuBI->mpValue->mpBreakIterator->following(rv.startPos); rv.endPos = icuBI->mpValue->mpBreakIterator->following(rv.startPos); - if(rv.endPos == BreakIterator::DONE) + if(rv.endPos == icu::BreakIterator::DONE) rv.endPos = rv.startPos; } return rv; @@ -394,7 +394,7 @@ Boundary SAL_CALL BreakIterator_Unicode::previousWord(const OUString& Text, sal_ Boundary rv; rv.startPos = icuBI->mpValue->mpBreakIterator->preceding(nStartPos); - if( rv.startPos < 0 || rv.startPos == BreakIterator::DONE) + if( rv.startPos < 0 || rv.startPos == icu::BreakIterator::DONE) rv.endPos = rv.startPos; else { if ( (rWordType == WordType::ANYWORD_IGNOREWHITESPACES || @@ -403,7 +403,7 @@ Boundary SAL_CALL BreakIterator_Unicode::previousWord(const OUString& Text, sal_ rv.startPos = icuBI->mpValue->mpBreakIterator->preceding(rv.startPos); rv.endPos = icuBI->mpValue->mpBreakIterator->following(rv.startPos); - if(rv.endPos == BreakIterator::DONE) + if(rv.endPos == icu::BreakIterator::DONE) rv.endPos = rv.startPos; } return rv; @@ -435,9 +435,9 @@ Boundary SAL_CALL BreakIterator_Unicode::getWordBoundary( const OUString& Text, rv.endPos = icuBI->mpValue->mpBreakIterator->following(nPos); } } - if (rv.startPos == BreakIterator::DONE) + if (rv.startPos == icu::BreakIterator::DONE) rv.startPos = rv.endPos; - else if (rv.endPos == BreakIterator::DONE) + else if (rv.endPos == icu::BreakIterator::DONE) rv.endPos = rv.startPos; return rv; @@ -502,7 +502,7 @@ LineBreakResults SAL_CALL BreakIterator_Unicode::getLineBreak( lbr.breakIndex = nStartPos; lbr.breakType = BreakType::WORDBOUNDARY; } else if (hOptions.rHyphenator.is()) { //Hyphenation break - sal_Int32 boundary_with_punctuation = (pLineBI->next() != BreakIterator::DONE) ? pLineBI->current() : 0; + sal_Int32 boundary_with_punctuation = (pLineBI->next() != icu::BreakIterator::DONE) ? pLineBI->current() : 0; pLineBI->preceding(nStartPos + 1); // reset to check correct hyphenation of "word-word" sal_Int32 nStartPosWordEnd = nStartPos; diff --git a/i18npool/source/collator/collator_unicode.cxx b/i18npool/source/collator/collator_unicode.cxx index 22b7ed9ae492..552c95ed35f1 100644 --- a/i18npool/source/collator/collator_unicode.cxx +++ b/i18npool/source/collator/collator_unicode.cxx @@ -138,7 +138,7 @@ Collator_Unicode::loadCollatorAlgorithm(const OUString& rAlgorithm, const lang:: UErrorCode status = U_ZERO_ERROR; OUString rule = LocaleDataImpl::get()->getCollatorRuleByAlgorithm(rLocale, rAlgorithm); if (!rule.isEmpty()) { - collator = new RuleBasedCollator(reinterpret_cast<const UChar *>(rule.getStr()), status); + collator = new icu::RuleBasedCollator(reinterpret_cast<const UChar *>(rule.getStr()), status); if (! U_SUCCESS(status)) throw RuntimeException(); } if (!collator && OUString(LOCAL_RULE_LANGS).indexOf(rLocale.Language) >= 0) { @@ -343,7 +343,7 @@ Collator_Unicode::loadCollatorAlgorithm(const OUString& rAlgorithm, const lang:: size_t ruleImageSize = funclen(); #if (U_ICU_VERSION_MAJOR_NUM == 4) && (U_ICU_VERSION_MINOR_NUM <= 2) - uca_base = new RuleBasedCollator(static_cast<UChar*>(NULL), status); + uca_base = new icu::RuleBasedCollator(static_cast<UChar*>(NULL), status); #else // Not only changed ICU 53.1 the API behavior that a negative // length (ruleImageSize) now leads to failure, but also that @@ -354,11 +354,11 @@ Collator_Unicode::loadCollatorAlgorithm(const OUString& rAlgorithm, const lang:: // The default collator of the en-US locale would also fulfill // the requirement. The collator of the actual locale or the // NULL (default) locale does not. - uca_base = static_cast<RuleBasedCollator*>(icu::Collator::createInstance( + uca_base = static_cast<icu::RuleBasedCollator*>(icu::Collator::createInstance( icu::Locale::getRoot(), status)); #endif if (! U_SUCCESS(status)) throw RuntimeException(); - collator = new RuleBasedCollator( + collator = new icu::RuleBasedCollator( reinterpret_cast<const uint8_t*>(ruleImage), ruleImageSize, uca_base, status); if (! U_SUCCESS(status)) throw RuntimeException(); } @@ -372,17 +372,17 @@ Collator_Unicode::loadCollatorAlgorithm(const OUString& rAlgorithm, const lang:: */ icu::Locale icuLocale( LanguageTagIcu::getIcuLocale( LanguageTag( rLocale), rAlgorithm)); // load ICU collator - collator = static_cast<RuleBasedCollator*>( icu::Collator::createInstance(icuLocale, status) ); + collator = static_cast<icu::RuleBasedCollator*>( icu::Collator::createInstance(icuLocale, status) ); if (! U_SUCCESS(status)) throw RuntimeException(); } } if (options & CollatorOptions::CollatorOptions_IGNORE_CASE_ACCENT) - collator->setStrength(Collator::PRIMARY); + collator->setStrength(icu::Collator::PRIMARY); else if (options & CollatorOptions::CollatorOptions_IGNORE_CASE) - collator->setStrength(Collator::SECONDARY); + collator->setStrength(icu::Collator::SECONDARY); else - collator->setStrength(Collator::TERTIARY); + collator->setStrength(icu::Collator::TERTIARY); return 0; } diff --git a/i18npool/source/collator/gencoll_rule.cxx b/i18npool/source/collator/gencoll_rule.cxx index 7d795b5af079..3048d12bb90b 100644 --- a/i18npool/source/collator/gencoll_rule.cxx +++ b/i18npool/source/collator/gencoll_rule.cxx @@ -113,7 +113,7 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv) //UCollator *coll = ucol_openRules(Obuf.getStr(), Obuf.getLength(), UCOL_OFF, // UCOL_DEFAULT_STRENGTH, &parseError, &status); - auto coll = o3tl::make_unique<RuleBasedCollator>(reinterpret_cast<const UChar *>(Obuf.getStr()), status); + auto coll = o3tl::make_unique<icu::RuleBasedCollator>(reinterpret_cast<const UChar *>(Obuf.getStr()), status); if (U_SUCCESS(status)) { std::vector<uint8_t> data; diff --git a/i18npool/source/ordinalsuffix/ordinalsuffix.cxx b/i18npool/source/ordinalsuffix/ordinalsuffix.cxx index a3e7d4ab6e8e..f32579894d44 100644 --- a/i18npool/source/ordinalsuffix/ordinalsuffix.cxx +++ b/i18npool/source/ordinalsuffix/ordinalsuffix.cxx @@ -79,7 +79,7 @@ uno::Sequence< OUString > SAL_CALL OrdinalSuffixService::getOrdinalSuffix( sal_I if (!U_SUCCESS(nCode)) return retValue; - std::unique_ptr<NumberFormat> xNumberFormat(icu::NumberFormat::createInstance(aIcuLocale, nCode)); + std::unique_ptr<icu::NumberFormat> xNumberFormat(icu::NumberFormat::createInstance(aIcuLocale, nCode)); if (!U_SUCCESS(nCode)) return retValue; diff --git a/i18npool/source/transliteration/ignoreDiacritics_CTL.cxx b/i18npool/source/transliteration/ignoreDiacritics_CTL.cxx index 0ddfe645abaa..2b5ca1ed1bdb 100644 --- a/i18npool/source/transliteration/ignoreDiacritics_CTL.cxx +++ b/i18npool/source/transliteration/ignoreDiacritics_CTL.cxx @@ -35,7 +35,7 @@ ignoreDiacritics_CTL::transliterateChar2Char(sal_Unicode nInChar) if (!m_transliterator) throw css::uno::RuntimeException(); - UnicodeString aChar(nInChar); + icu::UnicodeString aChar(nInChar); m_transliterator->transliterate(aChar); if (aChar.isEmpty()) @@ -68,7 +68,7 @@ ignoreDiacritics_CTL::folding(const OUString& rInStr, sal_Int32 nStartPos, { sal_Int32 nIndex = nPosition; UChar32 nChar = rInStr.iterateCodePoints(&nIndex); - UnicodeString aUStr(nChar); + icu::UnicodeString aUStr(nChar); m_transliterator->transliterate(aUStr); if (nOffset + aUStr.length() > rOffset.getLength()) @@ -87,7 +87,7 @@ ignoreDiacritics_CTL::folding(const OUString& rInStr, sal_Int32 nStartPos, } else { - UnicodeString aUStr(reinterpret_cast<const UChar*>(rInStr.getStr()) + nStartPos, nCount); + icu::UnicodeString aUStr(reinterpret_cast<const UChar*>(rInStr.getStr()) + nStartPos, nCount); m_transliterator->transliterate(aUStr); return OUString(reinterpret_cast<const sal_Unicode*>(aUStr.getBuffer()), aUStr.length()); } commit bcfa971adb62bfdde14e8c328fb25e1d10acad9b Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Fri Jun 22 17:03:30 2018 +0200 tdf#116208 vcl opengl: fix lack of updates in status bar Commit f0821f9a347c7752a3c741c3451a2f1630173720 (Cache text layout of statusbar items, 2017-06-08) was a performance improvement of not laying out the text of status bar text during each & every paint. One of these places didn't work correctly with Chinese text, so commit a4ed3d9a1ffa1b51ba4352a955c950235f099fdc (tdf#115353 Status bar: no cache in settext, 2018-03-01) attempted to disable the caching at that particular place by removing the update of the cache. This resulted in lack of updates, e.g. during typing into Writer and checking the word count part of the status bar. Fix this (and at the same time keep the original problem fixed) by still not using the layout cache and that problematic place, but instead of just not updating the cache actually invalidate it -- probably that was the intention in the force place already. (cherry picked from commit 0ad7226aee21cc6dbb30d061d76491b01e39de66) Change-Id: Ib7b91e5f24bc68d2f8cae2efea64340585ad9bd5 Reviewed-on: https://gerrit.libreoffice.org/56437 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lu...@collabora.com> diff --git a/vcl/source/window/status.cxx b/vcl/source/window/status.cxx index aebec55ec630..f83a8665dea1 100644 --- a/vcl/source/window/status.cxx +++ b/vcl/source/window/status.cxx @@ -1169,6 +1169,9 @@ void StatusBar::SetItemText( sal_uInt16 nItemId, const OUString& rText ) std::unique_ptr<SalLayout> pSalLayout = ImplLayout(pItem->maText,0,-1); long nWidth = GetTextWidth( pItem->maText,0,-1,nullptr,pSalLayout.get() ) + nFudge; + // Invalidate cache. + pItem->mxLayoutCache.reset(); + if( (nWidth > pItem->mnWidth + STATUSBAR_OFFSET) || ((nWidth < pItem->mnWidth) && (mnDX - STATUSBAR_OFFSET) < mnItemsWidth )) { commit 8e5441469e07e85c5bd278ac5777eb2b550f900a Author: Caolán McNamara <caol...@redhat.com> Date: Tue Jun 26 11:58:30 2018 +0100 forcepoint#47 bail when we detect the emf is broken Change-Id: I065635393763af774b45cbba6bd85c4334383b93 Reviewed-on: https://gerrit.libreoffice.org/56458 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.st...@cib.de> diff --git a/drawinglayer/source/tools/emfphelperdata.cxx b/drawinglayer/source/tools/emfphelperdata.cxx index 2c49949870f4..509ce5339a55 100644 --- a/drawinglayer/source/tools/emfphelperdata.cxx +++ b/drawinglayer/source/tools/emfphelperdata.cxx @@ -837,12 +837,21 @@ namespace emfplushelper next = rMS.Tell() + (size - 12); if (size < 12) + { SAL_WARN("drawinglayer", "Size field is less than 12 bytes"); + break; + } else if (size > length) + { SAL_WARN("drawinglayer", "Size field is greater than bytes left"); + break; + } if (dataSize > (size - 12)) + { SAL_WARN("drawinglayer", "DataSize field is greater than Size-12"); + break; + } SAL_INFO("drawinglayer", "EMF+ record size: " << size << " type: " << emfTypeToName(type) << " flags: " << flags << " data size: " << dataSize); commit fa465508dfa98eff7fe6f9aacbb75d3fd2fb6eac Author: Stephan Bergmann <sberg...@redhat.com> Date: Mon Jun 25 13:16:06 2018 +0200 Just use --with-extra-buildid=Flatpak ...as suggested in comment <https://github.com/flathub/ org.libreoffice.LibreOffice/issues/48#issuecomment-399739393> to "LibreOffice 6.0.5": "Should 'Flatpak version' be just 'Flatpak' to save translation of 'version' in the string for non-English locales?" Change-Id: I53171a5725f54520ae9e3cbaf294e291d16e1c78 Reviewed-on: https://gerrit.libreoffice.org/56390 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sberg...@redhat.com> (cherry picked from commit 3a8ae607cb0e63f252ca5a3b224f479cf304dc3f) Reviewed-on: https://gerrit.libreoffice.org/56404 Reviewed-by: Adolfo Jayme Barrientos <fit...@ubuntu.com> diff --git a/distro-configs/LibreOfficeFlatpak.conf b/distro-configs/LibreOfficeFlatpak.conf index 2e4553e0a022..0f1ff3312ab8 100644 --- a/distro-configs/LibreOfficeFlatpak.conf +++ b/distro-configs/LibreOfficeFlatpak.conf @@ -2,7 +2,7 @@ --disable-odk --enable-release-build --with-ant-home=/run/build/libreoffice/ant ---with-extra-buildid=Flatpak version +--with-extra-buildid=Flatpak --with-jdk-home=/usr/lib/sdk/openjdk10/jvm/openjdk-10 --with-lang=ALL --with-system-libs commit f6075c95a23c1972af5a132949279f8f0a9724ff Author: Adolfo Jayme Barrientos <fit...@ubuntu.com> Date: Mon Jan 1 00:00:00 2018 -0600 Bump copyright year to 2018 Change-Id: Iabd06fbda15d2f83f6ee0cdd37b268910d380476 (cherry picked from commit 864c3aa5ddeab486d2233c7b8f7c467306c3ef54) Reviewed-on: https://gerrit.libreoffice.org/56379 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sberg...@redhat.com> diff --git a/cui/uiconfig/ui/aboutdialog.ui b/cui/uiconfig/ui/aboutdialog.ui index 067ca0633d9f..5395d5f58f6c 100644 --- a/cui/uiconfig/ui/aboutdialog.ui +++ b/cui/uiconfig/ui/aboutdialog.ui @@ -211,7 +211,7 @@ <property name="margin_left">12</property> <property name="margin_right">12</property> <property name="hexpand">True</property> - <property name="label" translatable="yes" context="aboutdialog|copyright">Copyright © 2000–2017 LibreOffice contributors.</property> + <property name="label" translatable="yes" context="aboutdialog|copyright">Copyright © 2000–2018 LibreOffice contributors.</property> <property name="justify">center</property> <property name="wrap">True</property> </object> diff --git a/odk/docs/install.html b/odk/docs/install.html index 16dc10cacfaa..be303622580e 100644 --- a/odk/docs/install.html +++ b/odk/docs/install.html @@ -527,7 +527,7 @@ </div> <div id="Footer"> <div id="FooterText"> - <p>Copyright © 2000–2017 LibreOffice contributors. All rights + <p>Copyright © 2000–2018 LibreOffice contributors. All rights reserved.<br/> LibreOffice was created by The Document Foundation, based on Apache OpenOffice, which is Copyright 2011 The Apache Software diff --git a/odk/docs/tools.html b/odk/docs/tools.html index 0a7cdcc82d57..273b2eb55848 100644 --- a/odk/docs/tools.html +++ b/odk/docs/tools.html @@ -911,7 +911,7 @@ types the specified types depend on.</p> <div id="Footer"> <div id="FooterText"> <p> - Copyright © 2000–2017 LibreOffice contributors. All rights reserved. + Copyright © 2000–2018 LibreOffice contributors. All rights reserved. <br/> LibreOffice was created by The Document Foundation, based on Apache OpenOffice, which is Copyright 2011, diff --git a/odk/examples/DevelopersGuide/examples.html b/odk/examples/DevelopersGuide/examples.html index b3d3c1c38f9b..7774eac5c550 100644 --- a/odk/examples/DevelopersGuide/examples.html +++ b/odk/examples/DevelopersGuide/examples.html @@ -2856,7 +2856,7 @@ for the Office application.</td> <div id="Footer"> <div id="FooterText"> <p> - Copyright © 2000–2017 LibreOffice contributors. All rights reserved. + Copyright © 2000–2018 LibreOffice contributors. All rights reserved. <br/> LibreOffice was created by The Document Foundation, based on Apache OpenOffice, which is Copyright 2011 diff --git a/odk/examples/examples.html b/odk/examples/examples.html index 0864c099c53f..22a465b173af 100644 --- a/odk/examples/examples.html +++ b/odk/examples/examples.html @@ -810,7 +810,7 @@ <div id="Footer"> <div id="FooterText"> <p> - Copyright © 2000–2017 LibreOffice contributors. All rights reserved. + Copyright © 2000–2018 LibreOffice contributors. All rights reserved. <br/> LibreOffice was created by The Document Foundation, based on Apache OpenOffice, which is Copyright 2011 diff --git a/odk/index.html b/odk/index.html index 24b4fbd99f6b..4e8cdd753118 100644 --- a/odk/index.html +++ b/odk/index.html @@ -189,7 +189,7 @@ <div id="Footer"> <div id="FooterText"> <p> - Copyright © 2000–2017 LibreOffice contributors. All rights reserved. + Copyright © 2000–2018 LibreOffice contributors. All rights reserved. <br/> LibreOffice was created by The Document Foundation, based on Apache OpenOffice, which is Copyright 2011 diff --git a/odk/index_online.html b/odk/index_online.html index f0a36830c035..31b88b3e6c9e 100644 --- a/odk/index_online.html +++ b/odk/index_online.html @@ -234,7 +234,7 @@ <div id="Footer"> <div id="FooterText"> <p> - Copyright © 2000–2017 LibreOffice contributors. All rights reserved. + Copyright © 2000–2018 LibreOffice contributors. All rights reserved. <br> LibreOffice was created by The Document Foundation, based on Apache OpenOffice, which is Copyright 2011 The Apache Software Foundation. <br> diff --git a/readlicense_oo/license/LICENSE b/readlicense_oo/license/LICENSE index 8a897fd9e717..7ebab994a6f8 100644 --- a/readlicense_oo/license/LICENSE +++ b/readlicense_oo/license/LICENSE @@ -14,7 +14,7 @@ All trademarks and registered trademarks mentioned herein are the property of their respective owners. - Copyright © 2000, 2017 LibreOffice contributors. All rights reserved. + Copyright © 2000–2018 LibreOffice contributors. All rights reserved. This product is based on OpenOffice.org. Portions of this software are copyright © 2000-2011, Oracle and/or its affiliates. diff --git a/readlicense_oo/license/LICENSE.fodt b/readlicense_oo/license/LICENSE.fodt index 1aa5c897b60a..bf25468c4f97 100644 --- a/readlicense_oo/license/LICENSE.fodt +++ b/readlicense_oo/license/LICENSE.fodt @@ -3123,7 +3123,7 @@ <text:p text:style-name="Standard"><text:a xlink:type="simple" xlink:href="#Mozilla Public License Version 2.0|outline" text:style-name="Internet_20_link" text:visited-style-name="Visited_20_Internet_20_Link"><text:span text:style-name="T22">Jump to MPL Version 2</text:span></text:a></text:p> <text:p text:style-name="Standard">Third Party Code Additional copyright notices and license terms applicable to portions of the Software can be found <text:a xlink:type="simple" xlink:href="#thirdparty" text:style-name="Internet_20_link" text:visited-style-name="Visited_20_Internet_20_Link">below</text:a> in this document.</text:p> <text:p text:style-name="P38">All trademarks and registered trademarks mentioned herein are the property of their respective owners.</text:p> - <text:p text:style-name="P39">Copyright © 2000, 2017 LibreOffice contributors. All rights reserved.</text:p> + <text:p text:style-name="P39">Copyright © 2000–2018 LibreOffice contributors. All rights reserved.</text:p> <text:p text:style-name="P39">This product is based on OpenOffice.org. Portions of this software are copyright © 2000-2011, Oracle and/or its affiliates.</text:p> <text:p text:style-name="Standard">This product has been created by The Document Foundation, incorporating many modifications from different contributors, see <text:a xlink:type="simple" xlink:href="http://www.libreoffice.org/" text:style-name="Internet_20_link" text:visited-style-name="Visited_20_Internet_20_Link">http://www.libreoffice.org/</text:a> for more details.</text:p> <text:p text:style-name="Standard"><text:span text:style-name="Strong_20_Emphasis">Note:</text:span> Do not translate or localize this document. Only English version is legally binding.</text:p> diff --git a/readlicense_oo/license/LICENSE.html b/readlicense_oo/license/LICENSE.html index 05cffacc32a4..c12876b17b64 100644 --- a/readlicense_oo/license/LICENSE.html +++ b/readlicense_oo/license/LICENSE.html @@ -115,4 +115,4 @@ .Variable { font-style:italic; } <!-- ODF styles with no properties representable as CSS --> .Sect1 .T4 { } ... etc. - the rest is truncated _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits