From 587dd3041abcf8c484d82af24e8d142f72b10c57 Mon Sep 17 00:00:00 2001
From: mathiasdm <mathiasdm@mail.i2p>
Date: Thu, 20 Jan 2011 17:10:30 +0000
Subject: [PATCH] - Added version check needed before starting desktopgui. -
 Added correct 'stop I2P' functionality in desktopgui.

---
 .../net/i2p/desktopgui/router/RouterManager.java    | 13 ++++++++++++-
 .../src/net/i2p/router/web/RouterConsoleRunner.java |  8 ++++++--
 2 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/apps/desktopgui/src/net/i2p/desktopgui/router/RouterManager.java b/apps/desktopgui/src/net/i2p/desktopgui/router/RouterManager.java
index b107d47d9a..09c5558a6d 100644
--- a/apps/desktopgui/src/net/i2p/desktopgui/router/RouterManager.java
+++ b/apps/desktopgui/src/net/i2p/desktopgui/router/RouterManager.java
@@ -2,6 +2,8 @@ package net.i2p.desktopgui.router;
 
 import java.io.IOException;
 
+import org.tanukisoftware.wrapper.WrapperManager;
+
 import net.i2p.I2PAppContext;
 import net.i2p.desktopgui.i18n.DesktopguiTranslator;
 import net.i2p.desktopgui.util.ConfigurationManager;
@@ -74,7 +76,16 @@ public class RouterManager {
 	 */
 	public static void shutDown() {
 		if(inI2P()) {
-			getRouter().shutdown(0);
+			Thread t = new Thread(new Runnable() {
+
+				@Override
+				public void run() {
+					WrapperManager.signalStopped(Router.EXIT_HARD);	
+				}
+				
+			});
+			t.start();
+			getRouter().shutdown(Router.EXIT_HARD);
 		}
     }
 	
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/RouterConsoleRunner.java b/apps/routerconsole/java/src/net/i2p/router/web/RouterConsoleRunner.java
index 8adf1da5c6..8daa63dac1 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/RouterConsoleRunner.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/RouterConsoleRunner.java
@@ -19,6 +19,7 @@ import net.i2p.util.I2PAppThread;
 import net.i2p.util.SecureDirectory;
 import net.i2p.util.SecureFileOutputStream;
 import net.i2p.util.ShellCommand;
+import net.i2p.util.VersionComparator;
 
 import org.mortbay.http.DigestAuthenticator;
 import org.mortbay.http.HashUserRealm;
@@ -303,8 +304,11 @@ public class RouterConsoleRunner {
         try {
         	//TODO: move away from routerconsole into a separate application.
         	//ApplicationManager?
-            String[] args = new String[0];
-            net.i2p.desktopgui.Main.beginStartup(args);
+        	VersionComparator v = new VersionComparator();
+        	if(v.compare(System.getProperty("java.runtime.version"), "1.6") >= 0) {
+                String[] args = new String[0];
+                net.i2p.desktopgui.Main.beginStartup(args);	
+        	}
         } catch (Throwable t) {
             t.printStackTrace();
         }
-- 
GitLab