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(&quot;com.sun.star.system.SystemShellExecute&quot;)
-       oShell.execute(sCommand, &quot;&quot; , 
com.sun.star.system.SystemShellExecuteFlags.DEFAULTS)
+       oShell.execute(sCommand, &quot;&quot; , 
com.sun.star.system.SystemShellExecuteFlags.URIS_ONLY)
 
 End Sub                                &apos;  _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"

Reply via email to