[Libreoffice-commits] core.git: 3 commits - embeddedobj/source postprocess/Rdb_services.mk sal/inc scp2/source sfx2/source

Michael Stahl mstahl at redhat.com
Sat Feb 9 17:25:13 PST 2013


 embeddedobj/source/msole/oleembed.cxx |   13 +++++++++++--
 embeddedobj/source/msole/ownview.cxx  |    4 +++-
 postprocess/Rdb_services.mk           |    5 ++++-
 sal/inc/sal/log-areas.dox             |    5 +++++
 scp2/source/ooo/file_library_ooo.scp  |    3 ++-
 sfx2/source/view/ipclient.cxx         |    9 +++++++--
 6 files changed, 32 insertions(+), 7 deletions(-)

New commits:
commit 5a65ca67d9acefed399ed8706efa402c543bed87
Author: Michael Stahl <mstahl at redhat.com>
Date:   Sun Feb 10 00:18:46 2013 +0100

    fdo#60491: embeddedobj: catch exception in fallback path
    
    This allows the OLE object to at least be passed to the OS for
    opening...
    
    Change-Id: I97f93eb3a015d7771f3fc909517ffb96d61fde52

diff --git a/embeddedobj/source/msole/oleembed.cxx b/embeddedobj/source/msole/oleembed.cxx
index 81739c3..da15ae0 100644
--- a/embeddedobj/source/msole/oleembed.cxx
+++ b/embeddedobj/source/msole/oleembed.cxx
@@ -709,7 +709,14 @@ namespace
                 aArgs ), uno::UNO_QUERY_THROW );
 
         uno::Reference< io::XStream > xCONTENTS;
-        xNameContainer->getByName(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CONTENTS"))) >>= xCONTENTS;
+        try
+        {
+            xNameContainer->getByName("CONTENTS") >>= xCONTENTS;
+        }
+        catch (container::NoSuchElementException const&)
+        {
+            // ignore
+        }
 
         sal_Bool bCopied = xCONTENTS.is() && lcl_CopyStream(xCONTENTS->getInputStream(), xStream->getOutputStream());
 
commit af8c7599148cf8c2bed567a8fdf5393fc3c16409
Author: Michael Stahl <mstahl at redhat.com>
Date:   Sun Feb 10 00:11:01 2013 +0100

    embeddedobj: log some exceptions
    
    Change-Id: I2e565bc6e57f7bf59fdd6eb5fc577e0b3d58b9f6

diff --git a/embeddedobj/source/msole/oleembed.cxx b/embeddedobj/source/msole/oleembed.cxx
index 5fdda99..81739c3 100644
--- a/embeddedobj/source/msole/oleembed.cxx
+++ b/embeddedobj/source/msole/oleembed.cxx
@@ -854,8 +854,10 @@ void SAL_CALL OleEmbeddedObject::doVerb( sal_Int32 nVerbID )
                 {
                     throw;
                 }
-                catch( uno::Exception& )
+                catch (uno::Exception const& e)
                 {
+                    SAL_WARN("embeddedobj.ole", "OleEmbeddedObject::doVerb: "
+                        "-9 fallback path: exception caught: " << e.Message);
                 }
             }
 
diff --git a/embeddedobj/source/msole/ownview.cxx b/embeddedobj/source/msole/ownview.cxx
index 7447b9c..8b4dbf8 100644
--- a/embeddedobj/source/msole/ownview.cxx
+++ b/embeddedobj/source/msole/ownview.cxx
@@ -167,8 +167,10 @@ sal_Bool OwnView_Impl::CreateModelFromURL( const ::rtl::OUString& aFileURL )
                 }
             }
         }
-        catch( const uno::Exception& )
+        catch (uno::Exception const& e)
         {
+            SAL_WARN("embeddedobj.ole", "OwnView_Impl::CreateModelFromURL:"
+                    " exception caught: " << e.Message);
         }
     }
 
diff --git a/sal/inc/sal/log-areas.dox b/sal/inc/sal/log-areas.dox
index 7f3f4a4..0d2ae52 100644
--- a/sal/inc/sal/log-areas.dox
+++ b/sal/inc/sal/log-areas.dox
@@ -75,6 +75,11 @@ certain functionality.
 @li @c editeng
 @li @c editeng.items
 
+ at section embeddedobj
+
+ at li @c embeddedobj - embedded objects
+ at li @c embeddedobj.ole - OLE embedded objects
+
 @section extensions
 
 @li @c extensions.plugin
diff --git a/sfx2/source/view/ipclient.cxx b/sfx2/source/view/ipclient.cxx
index 1310df3..ffed312 100644
--- a/sfx2/source/view/ipclient.cxx
+++ b/sfx2/source/view/ipclient.cxx
@@ -971,8 +971,11 @@ ErrCode SfxInPlaceClient::DoVerb( long nVerb )
                                 m_pImp->m_aScaleHeight = Fraction( aScaledArea.GetHeight(), aNewSize.Height() );
                             }
                         }
-                        catch ( uno::Exception& )
+                        catch (uno::Exception const& e)
                         {
+                            SAL_WARN("embeddedobj", "SfxInPlaceClient::DoVerb:"
+                                " -9 fallback path: exception caught: "
+                                << e.Message);
                             nError = ERRCODE_SO_GENERALERROR;
                         }
                     }
@@ -982,8 +985,10 @@ ErrCode SfxInPlaceClient::DoVerb( long nVerb )
                     // TODO/LATER: it would be nice to be able to provide the current target state outside
                     nError = ERRCODE_SO_CANNOT_DOVERB_NOW;
                 }
-                catch ( uno::Exception& )
+                catch (uno::Exception const& e)
                 {
+                    SAL_WARN("embeddedobj", "SfxInPlaceClient::DoVerb:"
+                            " exception caught: " << e.Message);
                     nError = ERRCODE_SO_GENERALERROR;
                     //TODO/LATER: better error handling
                 }
commit ca8ac449e3524f895de1e94a3c5d511591031b40
Author: Michael Stahl <mstahl at redhat.com>
Date:   Sat Feb 9 22:39:42 2013 +0100

    fdo#60491: scp2: always package emboleobj library on non-WNT platforms
    
    (regression from 09cd5c460704ddd99669a61ae335bfb2ce357140, which defined
     DISABLE_ATL on all platforms in configure)
    
    Change-Id: If2373386102373cb49e8cd0c6bf807da2f805dda

diff --git a/postprocess/Rdb_services.mk b/postprocess/Rdb_services.mk
index b1ff318..840aaee 100644
--- a/postprocess/Rdb_services.mk
+++ b/postprocess/Rdb_services.mk
@@ -142,9 +142,12 @@ $(eval $(call gb_Rdb_add_components,services,\
 	$(if $(filter headless,$(GUIBASE)), \
 		vcl/vcl.headless \
 	) \
+	$(if $(filter-out WNT,$(OS)), \
+		embeddedobj/source/msole/emboleobj \
+	) \
 	$(if $(DISABLE_ATL),, \
-		embeddedobj/source/msole/emboleobj$(if $(filter WNT,$(OS)),.windows) \
 		$(if $(filter WNT,$(OS)), \
+			embeddedobj/source/msole/emboleobj.windows \
 			embedserv/util/emser \
 			extensions/source/ole/oleautobridge \
 		) \
diff --git a/scp2/source/ooo/file_library_ooo.scp b/scp2/source/ooo/file_library_ooo.scp
index f6699e6..8feb75d 100644
--- a/scp2/source/ooo/file_library_ooo.scp
+++ b/scp2/source/ooo/file_library_ooo.scp
@@ -394,7 +394,8 @@ STD_LIB_FILE(gid_File_Lib_Drawinglayer,drawinglayer)
 
 SPECIAL_LIB_FILE(gid_File_Lib_Embobj,embobj)
 
-#ifndef DISABLE_ATL
+/* fdo#60491 always need emboleobj library on non-WNT platforms */
+#if !defined(WNT) || !defined(DISABLE_ATL)
 SPECIAL_LIB_FILE(gid_File_Lib_Emboleobj,emboleobj)
 #endif
 


More information about the Libreoffice-commits mailing list