From 631606031378c1211a45743b427b7ccce84e7cc0 Mon Sep 17 00:00:00 2001 From: Jiri Vanek Date: Thu, 4 Apr 2013 11:20:09 +0200 Subject: Plugin is now honoring the custom jre --- plugin/icedteanp/IcedTeaNPPlugin.cc | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) (limited to 'plugin/icedteanp') diff --git a/plugin/icedteanp/IcedTeaNPPlugin.cc b/plugin/icedteanp/IcedTeaNPPlugin.cc index 22765c3..bf37b4e 100644 --- a/plugin/icedteanp/IcedTeaNPPlugin.cc +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc @@ -48,6 +48,9 @@ exception statement from your version. */ #include #include +//IcedTea-plugin includes +#include "IcedTeaPluginUtils.h" +#include "IcedTeaParseProperties.h" // Liveconnect extension #include "IcedTeaScriptablePluginObject.h" #include "IcedTeaNPPlugin.h" @@ -74,6 +77,7 @@ exception statement from your version. */ #include #endif + // Error reporting macros. #define PLUGIN_ERROR(message) \ g_printerr ("%s:%d: thread %p: Error: %s\n", __FILE__, __LINE__, \ @@ -287,13 +291,29 @@ g_strcmp0(char *str1, char *str2) #endif static std::string get_plugin_executable(){ - return std::string (appletviewer_default_executable); - + std::string custom_jre; + bool custom_jre_defined = find_custom_jre(custom_jre); + if (custom_jre_defined) { + if (IcedTeaPluginUtilities::file_exists(custom_jre+"/bin/java")){ + return custom_jre+"/bin/java"; + } else { + fprintf(stderr, "Your custom jre (/bin/java check) %s is not valid. Please fix %s in your %s. In attempt to run using default one. \n", custom_jre.c_str(), custom_jre_key.c_str(), default_file_ITW_deploy_props_name.c_str()); + } + } + return appletviewer_default_executable; } static std::string get_plugin_rt_jar(){ - return std::string (appletviewer_default_rtjar); - + std::string custom_jre; + bool custom_jre_defined = find_custom_jre(custom_jre); + if (custom_jre_defined) { + if (IcedTeaPluginUtilities::file_exists(custom_jre+"/lib/rt.jar")){ + return custom_jre+"/lib/rt.jar"; + } else { + fprintf(stderr, "Your custom jre (/lib/rt.jar check) %s is not valid. Please fix %s in your %s. In attempt to run using default one. \n", custom_jre.c_str(), custom_jre_key.c_str(), default_file_ITW_deploy_props_name.c_str()); + } + } + return appletviewer_default_rtjar; } -- cgit v1.2.3