summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bridges/source/jni_uno/jni_bridge.cxx9
-rw-r--r--cppu/inc/uno/environment.h7
-rw-r--r--cppu/source/uno/lbenv.cxx4
3 files changed, 19 insertions, 1 deletions
diff --git a/bridges/source/jni_uno/jni_bridge.cxx b/bridges/source/jni_uno/jni_bridge.cxx
index 87d210d300c7..f8fdbce87875 100644
--- a/bridges/source/jni_uno/jni_bridge.cxx
+++ b/bridges/source/jni_uno/jni_bridge.cxx
@@ -456,6 +456,10 @@ void SAL_CALL java_env_disposing( uno_Environment * java_env )
}
}
+#ifdef DISABLE_DYNLOADING
+#define uno_initEnvironment java_uno_initEnvironment
+#endif
+
//------------------------------------------------------------------------------
void SAL_CALL uno_initEnvironment( uno_Environment * java_env )
SAL_THROW_EXTERN_C()
@@ -554,12 +558,17 @@ void SAL_CALL uno_ext_getMapping(
}
}
+#ifndef DISABLE_DYNLOADING
+
//------------------------------------------------------------------------------
SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_canUnload( TimeValue * pTime )
SAL_THROW_EXTERN_C()
{
return (*g_moduleCount.canUnload)( &g_moduleCount, pTime );
}
+
+#endif
+
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/cppu/inc/uno/environment.h b/cppu/inc/uno/environment.h
index bbba4c980c0b..e76ed2fc7ba6 100644
--- a/cppu/inc/uno/environment.h
+++ b/cppu/inc/uno/environment.h
@@ -258,9 +258,14 @@ typedef void (SAL_CALL * uno_initEnvironmentFunc)( uno_Environment * pEnv );
#define UNO_INIT_ENVIRONMENT "uno_initEnvironment"
#ifdef DISABLE_DYNLOADING
-/* We link statically and have just one kind of environment */
+/* We link statically and have just the C++ environment */
void SAL_CALL CPPU_ENV_uno_initEnvironment( uno_Environment * Env )
SAL_THROW_EXTERN_C();
+#ifdef SOLAR_JAVA
+/* We also have the Java environment */
+void SAL_CALL java_uno_initEnvironment( uno_Environment * Env )
+ SAL_THROW_EXTERN_C();
+#endif
#endif
/** Gets a specific environment. If the specified environment does not exist, then a default one
diff --git a/cppu/source/uno/lbenv.cxx b/cppu/source/uno/lbenv.cxx
index ff6de9a9a815..439d49bf8748 100644
--- a/cppu/source/uno/lbenv.cxx
+++ b/cppu/source/uno/lbenv.cxx
@@ -1058,6 +1058,10 @@ static bool loadEnv(OUString const & cLibStem,
if ( cLibStem == CPPU_CURRENT_LANGUAGE_BINDING_NAME "_uno" )
fpInit = CPPU_ENV_uno_initEnvironment;
+#ifdef SOLAR_JAVA
+ else if ( cLibStem == "java_uno" )
+ fpInit = java_uno_initEnvironment;
+#endif
else
{
#if OSL_DEBUG_LEVEL > 1