[Libreoffice-commits] core.git: 2 commits - cppuhelper/source mysqlc/source

Stephan Bergmann sbergman at redhat.com
Fri Oct 11 06:03:37 PDT 2013


 cppuhelper/source/servicemanager.cxx |    2 +-
 mysqlc/source/mysqlc.component       |    2 +-
 mysqlc/source/mysqlc_services.cxx    |    2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

New commits:
commit 3bafe5f5f529f6539363c5a291dd13ef1e2cbbde
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Oct 11 14:57:32 2013 +0200

    Extension shared library components must not use the "prefix" feature
    
    ...at least no non-bundled ones, see 9dfcee9266c9769153444cdcd4ab0e6e636c3eb6
    "Not being able to honor a 'prefix' is a rather hard error" and the description
    there how that can lead to a crash when using mysql-connector-ooo.oxt:  "'rm -rf
    instdir/*/share/extensions/mysql-connector-ooo', 'instdir/*/program/soffice
    workdir/*/Extension/mysql-connector.oxt', install the [extension] per-user, then
    'File - New - Database - Connect to an existing database: MySQL - Next >> -
    Connect directly - Next >> - Database name: foo - Server / Port - Server: bar -
    Next >> - Test Connection', crash."
    
    This is a partial revert of cd79d51420b90117d0f3e1d5f3cdf9187bd61b88 "prefix all
    component_getFactory methods."
    
    Change-Id: Ia7a6272eb0597e3b3bbf4ab333174b3232448539

diff --git a/mysqlc/source/mysqlc.component b/mysqlc/source/mysqlc.component
index ae16484..e429511 100644
--- a/mysqlc/source/mysqlc.component
+++ b/mysqlc/source/mysqlc.component
@@ -7,7 +7,7 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
  *
 -->
-<component xmlns="http://openoffice.org/2010/uno-components" prefix="mysqlc"
+<component xmlns="http://openoffice.org/2010/uno-components"
         loader="com.sun.star.loader.SharedLibrary">
     <implementation name="com.sun.star.comp.sdbc.mysqlc.MysqlCDriver">
         <service name="com.sun.star.sdbc.Driver"/>
diff --git a/mysqlc/source/mysqlc_services.cxx b/mysqlc/source/mysqlc_services.cxx
index cc7e8e0..af1cabe 100644
--- a/mysqlc/source/mysqlc_services.cxx
+++ b/mysqlc/source/mysqlc_services.cxx
@@ -76,7 +76,7 @@ struct ProviderRequest
 
 
 /* {{{ component_getFactory -I- */
-extern "C" SAL_DLLPUBLIC_EXPORT void* SAL_CALL mysqlc_component_getFactory(
+extern "C" SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory(
                     const sal_Char * pImplementationName,
                     void * pServiceManager,
                     void * /* pRegistryKey */)
commit 284347b764ed9867c0ba15f5ac9b153030a104f0
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Oct 11 14:35:31 2013 +0200

    Not being able to honor a "prefix" is a rather hard error
    
    It happens when an extension has just been live-deployed into the running
    soffice process and then trying to instantiate out-of-process in an additional
    uno process one of that extension's shared library components and that component
    ---erroneously---uses the "prefix" feature.  (Which can be reproduced with the
    mysql-connector-ooo.oxt extension, --enable-ext-mariadb-connector: "rm -rf
    instdir/*/share/extensions/mysql-connector-ooo", "instdir/*/program/soffice
    workdir/*/Extension/mysql-connector.oxt", install the per-user, then "File - New
    - Database - Connect to an existing database: MySQL - Next >> - Connect directly
    - Next >> - Database name: foo - Server / Port - Server: bar - Next >> - Test
    Connection", crash.)
    
    Change-Id: Ibab2ad31199eec5dc26ffa337a5e3e7490f782d7

diff --git a/cppuhelper/source/servicemanager.cxx b/cppuhelper/source/servicemanager.cxx
index ab48268c..055bdd3 100644
--- a/cppuhelper/source/servicemanager.cxx
+++ b/cppuhelper/source/servicemanager.cxx
@@ -656,7 +656,7 @@ void cppuhelper::ServiceManager::loadImplementation(
             uri, rtl::OUString(), info->name, this,
             css::uno::Reference< css::registry::XRegistryKey >(), prefix);
     } else {
-        SAL_INFO_IF(
+        SAL_WARN_IF(
             !info->prefix.isEmpty(), "cppuhelper",
             "Loader " << info->loader << " and non-empty prefix "
                 << info->prefix);


More information about the Libreoffice-commits mailing list