configure.ac | 2 - desktop/source/app/cmdlineargs.cxx | 10 +++++++- drawinglayer/source/processor2d/vclpixelprocessor2d.cxx | 6 +++- include/drawinglayer/geometry/viewinformation2d.hxx | 2 + setup_native/source/packinfo/spellchecker_selection.txt | 2 - sfx2/source/appl/macroloader.cxx | 9 +++++-- sfx2/source/doc/iframe.cxx | 20 ++++++++++++---- sfx2/source/inc/macroloader.hxx | 2 + solenv/bin/modules/installer/epmfile.pm | 2 - sw/source/filter/html/htmlplug.cxx | 7 ++++- sw/source/filter/xml/xmltexti.cxx | 9 +++++-- wizards/source/access2base/DoCmd.xba | 2 - wizards/source/scriptforge/SF_Session.xba | 2 - xmloff/source/draw/ximpshap.cxx | 4 +++ 14 files changed, 61 insertions(+), 18 deletions(-)
New commits: commit 60c9a9a2738d15b65927c55798ac5177dfbb7761 Author: Andras Timar <[email protected]> AuthorDate: Sun Sep 11 16:45:15 2022 +0200 Commit: Andras Timar <[email protected]> CommitDate: Sun Sep 11 16:45:15 2022 +0200 Bump version to 7.1.8.1.M3 Change-Id: Ib900ccf421685030638f897633c4e99ab0547fbf diff --git a/configure.ac b/configure.ac index 6358381d7a72..d426163e0a7f 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([LibreOffice],[7.1.8.1.M2],[],[],[http://documentfoundation.org/]) +AC_INIT([LibreOffice],[7.1.8.1.M3],[],[],[http://documentfoundation.org/]) dnl libnumbertext needs autoconf 2.68, but that can pick up autoconf268 just fine if it is installed dnl whereas aclocal (as run by autogen.sh) insists on using autoconf and fails hard commit 3d1f5c8e65b40c9abbc43cad34f3c01b18b695d7 Author: Luboš Luňák <[email protected]> AuthorDate: Wed Aug 31 17:22:08 2022 +0200 Commit: Andras Timar <[email protected]> CommitDate: Sun Sep 11 16:44:26 2022 +0200 fix limiting drawing of softedge effect (tdf#141981) Apparently an empty viewport actually means everything should be drawn. Change-Id: I55ae453a8f264d48222ade48a2953ab7d97c7f79 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138991 Tested-by: Jenkins Tested-by: Caolán McNamara <[email protected]> Reviewed-by: Caolán McNamara <[email protected]> (cherry picked from commit 6a57652cfc2e46a271091246cd867804c39f845c) diff --git a/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx b/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx index 10845409b9ec..c8a28950261d 100644 --- a/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx +++ b/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx @@ -1050,7 +1050,8 @@ void VclPixelProcessor2D::processGlowPrimitive2D(const primitive2d::GlowPrimitiv // Limit the bitmap size to the visible area. basegfx::B2DRange viewRange(getViewInformation2D().getDiscreteViewport()); basegfx::B2DRange bitmapRange(aRange); - bitmapRange.intersect(viewRange); + if (!viewRange.isEmpty()) + bitmapRange.intersect(viewRange); if (!bitmapRange.isEmpty()) { const tools::Rectangle aRect( @@ -1112,7 +1113,8 @@ void VclPixelProcessor2D::processSoftEdgePrimitive2D( // Limit the bitmap size to the visible area. basegfx::B2DRange viewRange(getViewInformation2D().getDiscreteViewport()); basegfx::B2DRange bitmapRange(aRange); - bitmapRange.intersect(viewRange); + if (!viewRange.isEmpty()) + bitmapRange.intersect(viewRange); if (!bitmapRange.isEmpty()) { const tools::Rectangle aRect( diff --git a/include/drawinglayer/geometry/viewinformation2d.hxx b/include/drawinglayer/geometry/viewinformation2d.hxx index 95be29a72bda..33d02cd76ada 100644 --- a/include/drawinglayer/geometry/viewinformation2d.hxx +++ b/include/drawinglayer/geometry/viewinformation2d.hxx @@ -140,6 +140,7 @@ public: /// data access const basegfx::B2DHomMatrix& getObjectTransformation() const; const basegfx::B2DHomMatrix& getViewTransformation() const; + /// Empty viewport means everything is visible. const basegfx::B2DRange& getViewport() const; double getViewTime() const; const css::uno::Reference<css::drawing::XDrawPage>& getVisualizedPage() const; @@ -149,6 +150,7 @@ public: const basegfx::B2DHomMatrix& getInverseObjectToViewTransformation() const; /// On-demand prepared Viewport in discrete units for convenience + /// Empty viewport means everything is visible. const basegfx::B2DRange& getDiscreteViewport() const; /** support reduced DisplayQuality, PropertyName is 'ReducedDisplayQuality'. This commit 81ba535193559fad495aa78753ec42b6e1be21e4 Author: Caolán McNamara <[email protected]> AuthorDate: Tue Sep 6 11:38:55 2022 +0100 Commit: Andras Timar <[email protected]> CommitDate: Sun Sep 11 16:44:26 2022 +0200 check impress/calc IFrame "FrameURL" target similar to commit c7450d0b9d02c64ae3da467d329040787039767e Date: Tue Aug 30 17:01:08 2022 +0100 check IFrame "FrameURL" target Change-Id: Ibf28c29acb4476830431d02772f3ecd4b23a6a27 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139495 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <[email protected]> diff --git a/xmloff/source/draw/ximpshap.cxx b/xmloff/source/draw/ximpshap.cxx index 65a7e2fb0eef..4afa4e039776 100644 --- a/xmloff/source/draw/ximpshap.cxx +++ b/xmloff/source/draw/ximpshap.cxx @@ -87,6 +87,7 @@ #include <basegfx/polygon/b2dpolypolygon.hxx> #include <basegfx/polygon/b2dpolypolygontools.hxx> #include <basegfx/vector/b2dvector.hxx> +#include <tools/urlobj.hxx> #include <o3tl/any.hxx> #include <o3tl/safeint.hxx> @@ -3231,6 +3232,9 @@ void SdXMLFloatingFrameShapeContext::StartElement( const css::uno::Reference< cs if( !maHref.isEmpty() ) { + if (INetURLObject(maHref).GetProtocol() == INetProtocol::Macro) + GetImport().NotifyMacroEventRead(); + xProps->setPropertyValue("FrameURL", Any(maHref) ); } } commit e1a4fed2f7ba4fece0f088b638fa575d48f4005f Author: Stephan Bergmann <[email protected]> AuthorDate: Thu Sep 1 17:33:51 2022 +0200 Commit: Andras Timar <[email protected]> CommitDate: Sun Sep 11 16:44:25 2022 +0200 Filter out unwanted command URIs Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139225 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <[email protected]> (cherry picked from commit 27d29f7df428885865a8e2313283839b20f2a34b) Conflicts: desktop/source/app/cmdlineargs.cxx Change-Id: I0b7e5329af8cc053d14d5c60ec14fe7f364ef993 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139182 Tested-by: Jenkins Reviewed-by: Miklos Vajna <[email protected]> diff --git a/desktop/source/app/cmdlineargs.cxx b/desktop/source/app/cmdlineargs.cxx index 4d5a3bb78396..93d9e8742ba8 100644 --- a/desktop/source/app/cmdlineargs.cxx +++ b/desktop/source/app/cmdlineargs.cxx @@ -28,6 +28,7 @@ #include "cmdlineargs.hxx" #include <osl/thread.hxx> #include <tools/stream.hxx> +#include <tools/urlobj.hxx> #include <rtl/ustring.hxx> #include <rtl/process.h> #include <comphelper/lok.hxx> @@ -166,7 +167,14 @@ CommandLineEvent CheckOfficeURI(/* in,out */ OUString& arg, CommandLineEvent cur } if (nURIlen < 0) nURIlen = rest2.getLength(); - arg = rest2.copy(0, nURIlen); + auto const uri = rest2.copy(0, nURIlen); + if (INetURLObject(uri).GetProtocol() == INetProtocol::Macro) { + // Let the "Open" machinery process the full command URI (leading to failure, by intention, + // as the "Open" machinery does not know about those command URI schemes): + curEvt = CommandLineEvent::Open; + } else { + arg = uri; + } return curEvt; } commit 484251e93d85906a4a2a17d56ad2675b6c20d812 Author: Caolán McNamara <[email protected]> AuthorDate: Tue Aug 30 17:01:08 2022 +0100 Commit: Andras Timar <[email protected]> CommitDate: Sun Sep 11 16:44:25 2022 +0200 check IFrame "FrameURL" target similiar to commit b3edf85e0fe6ca03dc26e1bf531be82193bc9627 Date: Wed Aug 7 17:37:11 2019 +0100 warn on load when a document binds an event to a macro Change-Id: Iea888b1c083d2dc69ec322309ac9ae8c5e5eb315 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139059 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <[email protected]> (cherry picked from commit c7450d0b9d02c64ae3da467d329040787039767e) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139117 Reviewed-by: Christian Lohmaier <[email protected]> diff --git a/sfx2/source/appl/macroloader.cxx b/sfx2/source/appl/macroloader.cxx index 46090f712665..ad70ef5fa0f6 100644 --- a/sfx2/source/appl/macroloader.cxx +++ b/sfx2/source/appl/macroloader.cxx @@ -68,10 +68,10 @@ css::uno::Sequence<OUString> SAL_CALL SfxMacroLoader::getSupportedServiceNames() return { "com.sun.star.frame.ProtocolHandler" }; } -SfxObjectShell* SfxMacroLoader::GetObjectShell_Impl() +SfxObjectShell* SfxMacroLoader::GetObjectShell(const Reference <XFrame>& xFrame) { SfxObjectShell* pDocShell = nullptr; - Reference < XFrame > xFrame( m_xFrame.get(), UNO_QUERY ); + if ( xFrame.is() ) { SfxFrame* pFrame=nullptr; @@ -88,6 +88,11 @@ SfxObjectShell* SfxMacroLoader::GetObjectShell_Impl() return pDocShell; } +SfxObjectShell* SfxMacroLoader::GetObjectShell_Impl() +{ + Reference < XFrame > xFrame( m_xFrame.get(), UNO_QUERY ); + return SfxMacroLoader::GetObjectShell(xFrame); +} uno::Reference<frame::XDispatch> SAL_CALL SfxMacroLoader::queryDispatch( const util::URL& aURL , diff --git a/sfx2/source/doc/iframe.cxx b/sfx2/source/doc/iframe.cxx index e37607c91a46..96502ce60726 100644 --- a/sfx2/source/doc/iframe.cxx +++ b/sfx2/source/doc/iframe.cxx @@ -38,10 +38,12 @@ #include <officecfg/Office/Common.hxx> #include <svl/itemprop.hxx> #include <sfx2/frmdescr.hxx> +#include <sfx2/objsh.hxx> #include <sfx2/sfxdlg.hxx> #include <toolkit/helper/vclunohelper.hxx> #include <vcl/window.hxx> #include <tools/debug.hxx> +#include <macroloader.hxx> using namespace ::com::sun::star; @@ -157,6 +159,19 @@ sal_Bool SAL_CALL IFrameObject::load( { if ( officecfg::Office::Common::Misc::PluginsEnabled::get() ) { + util::URL aTargetURL; + aTargetURL.Complete = maFrmDescr.GetURL().GetMainURL( INetURLObject::DecodeMechanism::NONE ); + uno::Reference < util::XURLTransformer > xTrans( util::URLTransformer::create( mxContext ) ); + xTrans->parseStrict( aTargetURL ); + + if (INetURLObject(aTargetURL.Complete).GetProtocol() == INetProtocol::Macro) + { + uno::Reference<frame::XFramesSupplier> xParentFrame = xFrame->getCreator(); + SfxObjectShell* pDoc = SfxMacroLoader::GetObjectShell(xParentFrame); + if (pDoc && !pDoc->AdjustMacroMode()) + return false; + } + DBG_ASSERT( !mxFrame.is(), "Frame already existing!" ); VclPtr<vcl::Window> pParent = VCLUnoHelper::GetWindow( xFrame->getContainerWindow() ); VclPtr<IFrameWindow_Impl> pWin = VclPtr<IFrameWindow_Impl>::Create( pParent, maFrmDescr.IsFrameBorderOn() ); @@ -179,11 +194,6 @@ sal_Bool SAL_CALL IFrameObject::load( if ( xFramesSupplier.is() ) mxFrame->setCreator( xFramesSupplier ); - util::URL aTargetURL; - aTargetURL.Complete = maFrmDescr.GetURL().GetMainURL( INetURLObject::DecodeMechanism::NONE ); - uno::Reference < util::XURLTransformer > xTrans( util::URLTransformer::create( mxContext ) ); - xTrans->parseStrict( aTargetURL ); - uno::Sequence < beans::PropertyValue > aProps(2); aProps[0].Name = "PluginMode"; aProps[0].Value <<= sal_Int16(2); diff --git a/sfx2/source/inc/macroloader.hxx b/sfx2/source/inc/macroloader.hxx index 051486c09adf..62a6555ff877 100644 --- a/sfx2/source/inc/macroloader.hxx +++ b/sfx2/source/inc/macroloader.hxx @@ -79,6 +79,8 @@ public: virtual void SAL_CALL addStatusListener( const css::uno::Reference< css::frame::XStatusListener >& xControl, const css::util::URL& aURL ) override; virtual void SAL_CALL removeStatusListener( const css::uno::Reference< css::frame::XStatusListener >& xControl, const css::util::URL& aURL ) override; + + static SfxObjectShell* GetObjectShell(const css::uno::Reference<css::frame::XFrame>& xFrame); }; #endif diff --git a/sw/source/filter/html/htmlplug.cxx b/sw/source/filter/html/htmlplug.cxx index 65e0419f4ed9..90036cfac67a 100644 --- a/sw/source/filter/html/htmlplug.cxx +++ b/sw/source/filter/html/htmlplug.cxx @@ -1090,7 +1090,12 @@ void SwHTMLParser::InsertFloatingFrame() bool bHasBorder = aFrameDesc.HasFrameBorder(); Size aMargin = aFrameDesc.GetMargin(); - xSet->setPropertyValue("FrameURL", uno::makeAny( aFrameDesc.GetURL().GetMainURL( INetURLObject::DecodeMechanism::NONE ) ) ); + OUString sHRef = aFrameDesc.GetURL().GetMainURL( INetURLObject::DecodeMechanism::NONE ); + + if (INetURLObject(sHRef).GetProtocol() == INetProtocol::Macro) + NotifyMacroEventRead(); + + xSet->setPropertyValue("FrameURL", uno::makeAny( sHRef ) ); xSet->setPropertyValue("FrameName", uno::makeAny( aName ) ); if ( eScroll == ScrollingMode::Auto ) diff --git a/sw/source/filter/xml/xmltexti.cxx b/sw/source/filter/xml/xmltexti.cxx index cf0c7e6a85ba..eaf45dd91cd4 100644 --- a/sw/source/filter/xml/xmltexti.cxx +++ b/sw/source/filter/xml/xmltexti.cxx @@ -857,9 +857,14 @@ uno::Reference< XPropertySet > SwXMLTextImportHelper::createAndInsertFloatingFra uno::Reference < beans::XPropertySet > xSet( xObj->getComponent(), uno::UNO_QUERY ); if ( xSet.is() ) { + OUString sHRef = URIHelper::SmartRel2Abs( + INetURLObject( GetXMLImport().GetBaseURL() ), rHRef ); + + if (INetURLObject(sHRef).GetProtocol() == INetProtocol::Macro) + GetXMLImport().NotifyMacroEventRead(); + xSet->setPropertyValue("FrameURL", - makeAny( URIHelper::SmartRel2Abs( - INetURLObject( GetXMLImport().GetBaseURL() ), rHRef ) ) ); + makeAny( rHRef ) ); xSet->setPropertyValue("FrameName", makeAny( rName ) ); commit cdb3ad356d710bbfd12d790b9326bdc1b65fae3d Author: Stephan Bergmann <[email protected]> AuthorDate: Tue Aug 30 14:04:52 2022 +0200 Commit: Andras Timar <[email protected]> CommitDate: Sun Sep 11 16:44:25 2022 +0200 These commands are always URLs already Change-Id: I5083765c879689d7f933bbe00ad70bb68e635a21 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139042 Tested-by: Jean-Pierre Ledure <[email protected]> Tested-by: Jenkins Reviewed-by: Stephan Bergmann <[email protected]> (cherry picked from commit e61701e1ee6763de72b397e6ade1124eca9400f3) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138980 Reviewed-by: Caolán McNamara <[email protected]> diff --git a/wizards/source/access2base/DoCmd.xba b/wizards/source/access2base/DoCmd.xba index 089486a872fa..20051553c47f 100644 --- a/wizards/source/access2base/DoCmd.xba +++ b/wizards/source/access2base/DoCmd.xba @@ -2655,7 +2655,7 @@ Private Sub _ShellExecute(sCommand As String) Dim oShell As Object Set oShell = createUnoService("com.sun.star.system.SystemShellExecute") - oShell.execute(sCommand, "" , com.sun.star.system.SystemShellExecuteFlags.DEFAULTS) + oShell.execute(sCommand, "" , com.sun.star.system.SystemShellExecuteFlags.URIS_ONLY) End Sub ' _ShellExecute V0.8.5 diff --git a/wizards/source/scriptforge/SF_Session.xba b/wizards/source/scriptforge/SF_Session.xba index a41bffa51377..7c709897947a 100644 --- a/wizards/source/scriptforge/SF_Session.xba +++ b/wizards/source/scriptforge/SF_Session.xba @@ -513,7 +513,7 @@ Check: Try: Set oShell = SF_Utils._GetUNOService("SystemShellExecute") sCommand = SF_FileSystem._ConvertToUrl(Command) - oShell.execute(sCommand, Parameters, com.sun.star.system.SystemShellExecuteFlags.DEFAULTS) + oShell.execute(sCommand, Parameters, com.sun.star.system.SystemShellExecuteFlags.URIS_ONLY) bReturn = True Finally: commit 406df8cc9e4eb3992bc0dd5e8291b44c58828b3a Author: Andras Timar <[email protected]> AuthorDate: Tue Aug 23 21:57:10 2022 +0200 Commit: Andras Timar <[email protected]> CommitDate: Sun Sep 11 16:44:24 2022 +0200 Debian package names must not contain uppercase letters MIMO packageversion string contains capital M. Change-Id: Iefa3d8102e1c7ebb779e84a246abb7262bbad384 diff --git a/solenv/bin/modules/installer/epmfile.pm b/solenv/bin/modules/installer/epmfile.pm index 7a1f5fd94c52..09b9deb0289b 100644 --- a/solenv/bin/modules/installer/epmfile.pm +++ b/solenv/bin/modules/installer/epmfile.pm @@ -289,7 +289,7 @@ sub create_epm_header installer::packagelist::resolve_packagevariables(\$installer::globals::packageversion, $variableshashref, 0); if ( $variableshashref->{'PACKAGEREVISION'} ) { $installer::globals::packagerevision = $variableshashref->{'PACKAGEREVISION'}; } - $line = "%version" . " " . $installer::globals::packageversion . "\n"; + $line = "%version" . " " . lc $installer::globals::packageversion . "\n"; push(@epmheader, $line); $line = "%release" . " " . $installer::globals::packagerevision . "\n"; commit 19e0ae5b1b64d5460e1bba79a5973f62060c1b3b Author: Andras Timar <[email protected]> AuthorDate: Tue Aug 23 21:14:10 2022 +0200 Commit: Andras Timar <[email protected]> CommitDate: Sun Sep 11 16:44:24 2022 +0200 Linux languagepacks take the first from the language list Change-Id: Id470e88f16b502aeb576a8512f55cd34c56f3500 diff --git a/setup_native/source/packinfo/spellchecker_selection.txt b/setup_native/source/packinfo/spellchecker_selection.txt index 4a6a7ff83f8f..ef8553331a46 100644 --- a/setup_native/source/packinfo/spellchecker_selection.txt +++ b/setup_native/source/packinfo/spellchecker_selection.txt @@ -46,7 +46,7 @@ en-ZA = "en,es,fr" eo = "eo" es = "es,an,ca,fr,gl,oc,pt-PT" et = "et" -fr = "de,en,eo,es,fr,it,pt-PT" +fr = "fr,de,en,eo,es,it,pt-PT" gd = "gd" gl = "gl,pt-PT,es" gu = "gu"
