Index: trunk/src/org/openstreetmap/josm/gui/MainApplication.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/MainApplication.java	(revision 4719)
+++ trunk/src/org/openstreetmap/josm/gui/MainApplication.java	(revision 4720)
@@ -24,6 +24,8 @@
 
 import javax.swing.JFrame;
+import javax.swing.RepaintManager;
 import javax.swing.SwingUtilities;
 
+import org.jdesktop.swinghelper.debug.CheckThreadViolationRepaintManager;
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.AutosaveTask;
@@ -104,16 +106,16 @@
                 "\t-Djosm.home="+tr("/PATH/TO/JOSM/FOLDER/         ")+tr("Change the folder for all user settings")+"\n\n"+
                 tr("note: For some tasks, JOSM needs a lot of memory. It can be necessary to add the following\n" +
-                "      Java option to specify the maximum size of allocated memory in megabytes")+":\n"+
-                "\t-Xmx...m\n\n"+
-                tr("examples")+":\n"+
-                "\tjava -jar josm.jar track1.gpx track2.gpx london.osm\n"+
-                "\tjava -jar josm.jar http://www.openstreetmap.org/index.html?lat=43.2&lon=11.1&zoom=13\n"+
-                "\tjava -jar josm.jar london.osm --selection=http://www.ostertag.name/osm/OSM_errors_node-duplicate.xml\n"+
-                "\tjava -jar josm.jar 43.2,11.1,43.4,11.4\n"+
-                "\tjava -Djosm.home=/home/user/.josm_dev -jar josm.jar\n"+
-                "\tjava -Xmx400m -jar josm.jar\n\n"+
-                tr("Parameters --download, --downloadgps, and --selection are processed in this order.")+"\n"+
-                tr("Make sure you load some data if you use --selection.")+"\n"
-        );
+                        "      Java option to specify the maximum size of allocated memory in megabytes")+":\n"+
+                        "\t-Xmx...m\n\n"+
+                        tr("examples")+":\n"+
+                        "\tjava -jar josm.jar track1.gpx track2.gpx london.osm\n"+
+                        "\tjava -jar josm.jar http://www.openstreetmap.org/index.html?lat=43.2&lon=11.1&zoom=13\n"+
+                        "\tjava -jar josm.jar london.osm --selection=http://www.ostertag.name/osm/OSM_errors_node-duplicate.xml\n"+
+                        "\tjava -jar josm.jar 43.2,11.1,43.4,11.4\n"+
+                        "\tjava -Djosm.home=/home/user/.josm_dev -jar josm.jar\n"+
+                        "\tjava -Xmx400m -jar josm.jar\n\n"+
+                        tr("Parameters --download, --downloadgps, and --selection are processed in this order.")+"\n"+
+                        tr("Make sure you load some data if you use --selection.")+"\n"
+                );
     }
 
@@ -262,6 +264,7 @@
             // Main.debug("Main window not maximized");
         }
-        if(main.menu.fullscreenToggleAction != null)
+        if(main.menu.fullscreenToggleAction != null) {
             main.menu.fullscreenToggleAction.initial();
+        }
 
         SwingUtilities.invokeLater(new Runnable() {
@@ -275,5 +278,5 @@
                                 tr("Unsaved osm data"),
                                 new String[] {tr("Restore"), tr("Cancel"), tr("Discard")}
-                        );
+                                );
                         dialog.setContent(
                                 trn("JOSM found {0} unsaved osm data layer. ",
@@ -300,4 +303,10 @@
         }
 
+        if (Main.pref.getBoolean("debug.edt-checker.enable", Version.getInstance().isLocalBuild())) {
+            // Repaint manager is registered so late for a reason - there is lots of violation during startup process but they don't seem to break anything and are difficult to fix
+            System.out.println("Enabled EDT checker, wrongful access to gui from non EDT thread will be printed to conosole");
+            RepaintManager.setCurrentManager(new CheckThreadViolationRepaintManager());
+        }
+
     }
 
