25
26 #include "gtk2_interface.h"
27 #include "gnome_interface.h"
28
29 static gboolean gtk_has_been_loaded = FALSE;
30 static gboolean gnome_has_been_loaded = FALSE;
31
32 /*
33 * Class: sun_awt_X11_XDesktopPeer
34 * Method: init
35 * Signature: ()Z
36 */
37 JNIEXPORT jboolean JNICALL Java_sun_awt_X11_XDesktopPeer_init
38 (JNIEnv *env, jclass cls)
39 {
40
41 if (gtk_has_been_loaded || gnome_has_been_loaded) {
42 return JNI_TRUE;
43 }
44
45 if (gtk2_load() && gtk2_show_uri_load()) {
46 gtk_has_been_loaded = TRUE;
47 return JNI_TRUE;
48 } else if (gnome_load()) {
49 gnome_has_been_loaded = TRUE;
50 return JNI_TRUE;
51 }
52
53 return JNI_FALSE;
54 }
55
56 /*
57 * Class: sun_awt_X11_XDesktopPeer
58 * Method: gnome_url_show
59 * Signature: (Ljava/lang/[B;)Z
60 */
61 JNIEXPORT jboolean JNICALL Java_sun_awt_X11_XDesktopPeer_gnome_1url_1show
62 (JNIEnv *env, jobject obj, jbyteArray url_j)
63 {
64 gboolean success = FALSE;
65 const gchar* url_c;
|
25
26 #include "gtk2_interface.h"
27 #include "gnome_interface.h"
28
29 static gboolean gtk_has_been_loaded = FALSE;
30 static gboolean gnome_has_been_loaded = FALSE;
31
32 /*
33 * Class: sun_awt_X11_XDesktopPeer
34 * Method: init
35 * Signature: ()Z
36 */
37 JNIEXPORT jboolean JNICALL Java_sun_awt_X11_XDesktopPeer_init
38 (JNIEnv *env, jclass cls)
39 {
40
41 if (gtk_has_been_loaded || gnome_has_been_loaded) {
42 return JNI_TRUE;
43 }
44
45 if (gtk2_load(env) && gtk2_show_uri_load()) {
46 gtk_has_been_loaded = TRUE;
47 return JNI_TRUE;
48 } else if (gnome_load()) {
49 gnome_has_been_loaded = TRUE;
50 return JNI_TRUE;
51 }
52
53 return JNI_FALSE;
54 }
55
56 /*
57 * Class: sun_awt_X11_XDesktopPeer
58 * Method: gnome_url_show
59 * Signature: (Ljava/lang/[B;)Z
60 */
61 JNIEXPORT jboolean JNICALL Java_sun_awt_X11_XDesktopPeer_gnome_1url_1show
62 (JNIEnv *env, jobject obj, jbyteArray url_j)
63 {
64 gboolean success = FALSE;
65 const gchar* url_c;
|