You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by ar...@apache.org on 2012/09/21 20:08:44 UTC

svn commit: r1388592 - /incubator/ooo/trunk/main/jvmfwk/plugins/sunmajor/pluginlib/vendorbase.cxx

Author: arielch
Date: Fri Sep 21 18:08:44 2012
New Revision: 1388592

URL: http://svn.apache.org/viewvc?rev=1388592&view=rev
Log:
#i119525# - List only JREs whose jvm library can be loaded

Modified:
    incubator/ooo/trunk/main/jvmfwk/plugins/sunmajor/pluginlib/vendorbase.cxx

Modified: incubator/ooo/trunk/main/jvmfwk/plugins/sunmajor/pluginlib/vendorbase.cxx
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/jvmfwk/plugins/sunmajor/pluginlib/vendorbase.cxx?rev=1388592&r1=1388591&r2=1388592&view=diff
==============================================================================
--- incubator/ooo/trunk/main/jvmfwk/plugins/sunmajor/pluginlib/vendorbase.cxx (original)
+++ incubator/ooo/trunk/main/jvmfwk/plugins/sunmajor/pluginlib/vendorbase.cxx Fri Sep 21 18:08:44 2012
@@ -25,6 +25,9 @@
 #include "precompiled_jvmfwk.hxx"
 
 #include "osl/file.hxx"
+#include "osl/diagnose.h"
+#include "osl/module.hxx"
+#include "osl/thread.hxx"
 
 #include "vendorbase.hxx"
 #include "util.hxx"
@@ -180,6 +183,25 @@ bool VendorBase::initialize(vector<pair<
     if (!bRt)
         return false;
 
+#if defined(WNT)
+    oslModule moduleRt = 0;
+    rtl::OUString sRuntimeLib;
+    if( File::getSystemPathFromFileURL( m_sRuntimeLibrary, sRuntimeLib ) == File::E_None )
+    {
+        if ( ( moduleRt = osl_loadModule( sRuntimeLib.pData, SAL_LOADMODULE_DEFAULT ) ) == 0 )
+        {
+            OSL_TRACE( "jfw_plugin::VendorBase::initialize - cannot load library %s",
+			           rtl::OUStringToOString( sRuntimeLib, osl_getThreadTextEncoding() ).getStr() );
+            return false;
+        }
+        else
+        {
+            // do not leave the module loaded!
+            osl_unloadModule( moduleRt );
+        }
+    }
+#endif
+
     // init m_sLD_LIBRARY_PATH
     OSL_ASSERT(m_sHome.getLength());
     size = 0;