diff options
author | Tomasz Zarna | 2008-09-01 09:20:05 +0000 |
---|---|---|
committer | Tomasz Zarna | 2008-09-01 09:20:05 +0000 |
commit | 1e61bc87c49c33631321294b5311d61c961aae41 (patch) | |
tree | e8861ba9344def9004c820fe6cdc31ecdb7930a9 | |
parent | 3c61001a3a514488f4bdb6839f76ffd8a94d9770 (diff) | |
download | eclipse.platform.team-1e61bc87c49c33631321294b5311d61c961aae41.tar.gz eclipse.platform.team-1e61bc87c49c33631321294b5311d61c961aae41.tar.xz eclipse.platform.team-1e61bc87c49c33631321294b5311d61c961aae41.zip |
bug 232495: [Proxy] Gnome library should not blow up Eclipse w/o Gnome
3 files changed, 11 insertions, 12 deletions
diff --git a/bundles/org.eclipse.core.net/fragments/org.eclipse.core.net.linux.x86/libproxygnome.so b/bundles/org.eclipse.core.net/fragments/org.eclipse.core.net.linux.x86/libproxygnome.so Binary files differindex 51deca296..f0482426f 100644 --- a/bundles/org.eclipse.core.net/fragments/org.eclipse.core.net.linux.x86/libproxygnome.so +++ b/bundles/org.eclipse.core.net/fragments/org.eclipse.core.net.linux.x86/libproxygnome.so diff --git a/bundles/org.eclipse.core.net/natives/unix/getproxygnome.c b/bundles/org.eclipse.core.net/natives/unix/getproxygnome.c index 1444fb34c..1811952bf 100644 --- a/bundles/org.eclipse.core.net/natives/unix/getproxygnome.c +++ b/bundles/org.eclipse.core.net/natives/unix/getproxygnome.c @@ -7,6 +7,7 @@ * * Contributors: * Oakland Software Incorporated - initial API and implementation + * IBM Corporation - enabling JNI calls for gconfInit method (bug 232495) */ #include <jni.h> @@ -36,7 +37,9 @@ static jmethodID passwordMethod; #define CHECK_NULL(X) { if ((X) == NULL) fprintf (stderr,"JNI error at line %d\n", __LINE__); } -static void gconfInit(JNIEnv *env) { +JNIEXPORT void JNICALL Java_org_eclipse_core_internal_net_proxy_unix_UnixProxyProvider_gconfInit( + JNIEnv *env, jclass clazz) { + client = gconf_client_get_default(); jclass cls= NULL; CHECK_NULL(cls = (*env)->FindClass(env, "org/eclipse/core/internal/net/ProxyData")); @@ -73,7 +76,7 @@ JNIEXPORT jobject JNICALL Java_org_eclipse_core_internal_net_proxy_unix_UnixProx jobject proxyInfo= NULL; if (client == NULL) { - gconfInit(env); + Java_org_eclipse_core_internal_net_proxy_unix_UnixProxyProvider_gconfInit(env, clazz); } CHECK_NULL(proxyInfo = (*env)->NewObject(env, proxyInfoClass, proxyInfoConstructor, protocol)); @@ -183,7 +186,7 @@ JNIEXPORT jobjectArray JNICALL Java_org_eclipse_core_internal_net_proxy_unix_Uni JNIEnv *env, jclass clazz) { if (client == NULL) { - gconfInit(env); + Java_org_eclipse_core_internal_net_proxy_unix_UnixProxyProvider_gconfInit(env, clazz); } GSList *npHosts; diff --git a/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/proxy/unix/UnixProxyProvider.java b/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/proxy/unix/UnixProxyProvider.java index c33a6aedb..f4af5bb9b 100644 --- a/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/proxy/unix/UnixProxyProvider.java +++ b/bundles/org.eclipse.core.net/src/org/eclipse/core/internal/net/proxy/unix/UnixProxyProvider.java @@ -23,11 +23,10 @@ import org.eclipse.core.internal.net.ProxyData; import org.eclipse.core.net.proxy.IProxyData; public class UnixProxyProvider extends AbstractProxyProvider { - - // Gnome support disabled - see bug 234662 - // private static final String LIBRARY_GCONF2 = "gconf-2"; //$NON-NLS-1$ - // private static final String LIBRARY_NAME = "proxygnome"; //$NON-NLS-1$ + private static final String LIBRARY_GCONF2 = "gconf-2"; //$NON-NLS-1$ + + private static final String LIBRARY_NAME = "proxygnome"; //$NON-NLS-1$ private static boolean isGnomeLibLoaded = false; @@ -35,8 +34,7 @@ public class UnixProxyProvider extends AbstractProxyProvider { // We have to load this here otherwise gconf seems to have problems // causing hangs and various other bad behavior, // please don't move this to be initialized on another thread. - // Gnome support disabled - see bug 234662 - // loadGnomeLib(); + loadGnomeLib(); } public UnixProxyProvider() { @@ -167,8 +165,6 @@ public class UnixProxyProvider extends AbstractProxyProvider { return props.getProperty(env); } - // Gnome support disabled - see bug 234662 - /* private static void loadGnomeLib() { try { System.loadLibrary(LIBRARY_GCONF2); @@ -194,7 +190,7 @@ public class UnixProxyProvider extends AbstractProxyProvider { + System.mapLibraryName(LIBRARY_NAME)); } } - */ + private void debugPrint(String[] strs) { for (int i = 0; i < strs.length; i++) |