configure.ac | 2 desktop/source/app/cmdlineargs.cxx | 10 +++- 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 xmloff/source/draw/ximpshap.cxx | 40 ++++++++-------- 11 files changed, 72 insertions(+), 33 deletions(-)
New commits: commit ca1d5328ca45809c8c79cf3f40a0202ebee8fb23 Author: Andras Timar <[email protected]> AuthorDate: Sun Sep 11 17:12:37 2022 +0200 Commit: Andras Timar <[email protected]> CommitDate: Sun Sep 11 17:12:37 2022 +0200 Bump version to 7.0.7.0.M11 Change-Id: I27d70c833355c5960d91e48eb7d63b8c626997ea diff --git a/configure.ac b/configure.ac index dd299f510cef..e4d990b3c7bd 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.0.7.0.M10],[],[],[http://documentfoundation.org/]) +AC_INIT([LibreOffice],[7.0.7.0.M11],[],[],[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 6a2e9707ab21d7193bcbbd6d50dbb0dc67488448 Author: Caolán McNamara <[email protected]> AuthorDate: Tue Sep 6 11:38:55 2022 +0100 Commit: Andras Timar <[email protected]> CommitDate: Sun Sep 11 17:11:20 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 fdfbbc2562a8..aab00a6b724b 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> @@ -3248,31 +3249,34 @@ void SdXMLFloatingFrameShapeContext::StartElement( const css::uno::Reference< cs { AddShape("com.sun.star.drawing.FrameShape"); - if( mxShape.is() ) - { - SetLayer(); + if( !mxShape.is() ) + return; - // set pos, size, shear and rotate - SetTransformation(); + SetLayer(); - uno::Reference< beans::XPropertySet > xProps( mxShape, uno::UNO_QUERY ); - if( xProps.is() ) - { - if( !maFrameName.isEmpty() ) - { - xProps->setPropertyValue("FrameName", Any(maFrameName) ); - } + // set pos, size, shear and rotate + SetTransformation(); - if( !maHref.isEmpty() ) - { - xProps->setPropertyValue("FrameURL", Any(maHref) ); - } + uno::Reference< beans::XPropertySet > xProps( mxShape, uno::UNO_QUERY ); + if( xProps.is() ) + { + if( !maFrameName.isEmpty() ) + { + xProps->setPropertyValue("FrameName", Any(maFrameName) ); } - SetStyle(); + if( !maHref.isEmpty() ) + { + if (INetURLObject(maHref).GetProtocol() == INetProtocol::Macro) + GetImport().NotifyMacroEventRead(); - GetImport().GetShapeImport()->finishShape( mxShape, mxAttrList, mxShapes ); + xProps->setPropertyValue("FrameURL", Any(maHref) ); + } } + + SetStyle(); + + GetImport().GetShapeImport()->finishShape( mxShape, mxAttrList, mxShapes ); } // this is called from the parent group for each unparsed attribute in the attribute list commit 45d29707d14e309db20bd0cdbe050a489033df85 Author: Stephan Bergmann <[email protected]> AuthorDate: Thu Sep 1 17:33:51 2022 +0200 Commit: Andras Timar <[email protected]> CommitDate: Sun Sep 11 17:10:33 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 e58ee2f6e2e4..54cc7f868d32 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 cee3a506da4d71a5361696cdbf075ff174bfbdd0 Author: Caolán McNamara <[email protected]> AuthorDate: Tue Aug 30 17:01:08 2022 +0100 Commit: Andras Timar <[email protected]> CommitDate: Sun Sep 11 17:10:33 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 d722ac987b33..22b18c6e382b 100644 --- a/sfx2/source/doc/iframe.cxx +++ b/sfx2/source/doc/iframe.cxx @@ -38,10 +38,12 @@ #include <svtools/miscopt.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 ( SvtMiscOptions().IsPluginsEnabled() ) { + 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 525b3b0ea175..733be35312d7 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 9f9995868809..ad3769d6211b 100644 --- a/sw/source/filter/xml/xmltexti.cxx +++ b/sw/source/filter/xml/xmltexti.cxx @@ -856,9 +856,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 5417a240029a3130e0cc7565573248ff124ea682 Author: Stephan Bergmann <[email protected]> AuthorDate: Tue Aug 30 14:04:52 2022 +0200 Commit: Andras Timar <[email protected]> CommitDate: Sun Sep 11 17:10:18 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 27b0d74be34f..26755a8d901d 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 commit e410cea2f1fb33ba5501e5a17d87c27baa51c459 Author: Andras Timar <[email protected]> AuthorDate: Tue Aug 23 21:57:10 2022 +0200 Commit: Andras Timar <[email protected]> CommitDate: Sun Sep 11 17:09:47 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 6da8ea0a4b00..09616043fd40 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 2db32de18016b399a9ef99094f86029145242bfa Author: Andras Timar <[email protected]> AuthorDate: Tue Aug 23 21:14:10 2022 +0200 Commit: Andras Timar <[email protected]> CommitDate: Sun Sep 11 17:09:47 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 59594d150621..d57bb87030af 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"
