Index: /applications/editors/josm/plugins/tracer2/build.xml
===================================================================
--- /applications/editors/josm/plugins/tracer2/build.xml	(revision 34563)
+++ /applications/editors/josm/plugins/tracer2/build.xml	(revision 34564)
@@ -5,5 +5,5 @@
     <property name="commit.message" value="see #josm11090"/>
     <!-- enter the *lowest* JOSM version this plugin is currently compatible with -->
-    <property name="plugin.main.version" value="13910"/>
+    <property name="plugin.main.version" value="14153"/>
 
     <!-- Configure these properties (replace "..." accordingly).
Index: /applications/editors/josm/plugins/tracer2/src/org/openstreetmap/josm/plugins/tracer2/TracerAction.java
===================================================================
--- /applications/editors/josm/plugins/tracer2/src/org/openstreetmap/josm/plugins/tracer2/TracerAction.java	(revision 34563)
+++ /applications/editors/josm/plugins/tracer2/src/org/openstreetmap/josm/plugins/tracer2/TracerAction.java	(revision 34564)
@@ -21,9 +21,9 @@
 import javax.swing.JOptionPane;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.mapmode.MapMode;
 import org.openstreetmap.josm.command.ChangePropertyCommand;
 import org.openstreetmap.josm.command.Command;
 import org.openstreetmap.josm.command.SequenceCommand;
+import org.openstreetmap.josm.data.UndoRedoHandler;
 import org.openstreetmap.josm.data.coor.LatLon;
 import org.openstreetmap.josm.data.osm.Node;
@@ -99,5 +99,5 @@
 
             if (!commands.isEmpty()) {
-                Main.main.undoRedo.add(new SequenceCommand(tr("Change tag {0} to {1}", strTag, strTagValue), commands));
+                UndoRedoHandler.getInstance().add(new SequenceCommand(tr("Change tag {0} to {1}", strTag, strTagValue), commands));
             }
         }
@@ -206,5 +206,5 @@
             }
             if (oGetVersion.m_nVersionMajor != nMajor) {
-                JOptionPane.showMessageDialog(Main.parent,
+                JOptionPane.showMessageDialog(MainApplication.getMainFrame(),
                         tr("The Tracer2Server version isn''t compatible with this plugin. Please download version {0} from\n{1}.", nMajor + ".x",
                                 "http://sourceforge.net/projects/tracer2server/"), tr("Error"), JOptionPane.ERROR_MESSAGE);
@@ -212,5 +212,5 @@
             }
             if (oGetVersion.m_nVersionMinor < nMinor) {
-                JOptionPane.showMessageDialog(Main.parent,
+                JOptionPane.showMessageDialog(MainApplication.getMainFrame(),
                         tr("New version of Tracer2Server is available. For best results please upgrade to version {0}.", nMajor + "." + nMinor),
                         tr("Information"), JOptionPane.INFORMATION_MESSAGE);
@@ -232,5 +232,5 @@
             if (listEnableParam == null || listEnableParam.size() == 0) {
                 listParam.setActivParam(null);
-                JOptionPane.showMessageDialog(Main.parent, tr("No set of parameter is active!"), tr("Error"), JOptionPane.ERROR_MESSAGE);
+                JOptionPane.showMessageDialog(MainApplication.getMainFrame(), tr("No set of parameter is active!"), tr("Error"), JOptionPane.ERROR_MESSAGE);
                 return false;
             }
@@ -246,5 +246,5 @@
             if (dialog.getShow()) {
                 JOptionPane pane = new JOptionPane(dialog, JOptionPane.PLAIN_MESSAGE, JOptionPane.OK_CANCEL_OPTION);
-                JDialog dlg = pane.createDialog(Main.parent, tr("Tracer2") + " - " + tr("Select parameter"));
+                JDialog dlg = pane.createDialog(MainApplication.getMainFrame(), tr("Tracer2") + " - " + tr("Select parameter"));
                 dlg.setVisible(true);
                 Object obj = pane.getValue();
@@ -320,5 +320,5 @@
                     strCommand = tr("Tracer2: modify way to {0} points", coordList.size());
                 }
-                Main.main.undoRedo.add(new SequenceCommand(strCommand, commands));
+                UndoRedoHandler.getInstance().add(new SequenceCommand(strCommand, commands));
 
                 if (m_bShift) {
Index: /applications/editors/josm/plugins/tracer2/src/org/openstreetmap/josm/plugins/tracer2/preferences/ServerParam.java
===================================================================
--- /applications/editors/josm/plugins/tracer2/src/org/openstreetmap/josm/plugins/tracer2/preferences/ServerParam.java	(revision 34563)
+++ /applications/editors/josm/plugins/tracer2/src/org/openstreetmap/josm/plugins/tracer2/preferences/ServerParam.java	(revision 34564)
@@ -13,5 +13,5 @@
 import javax.swing.SwingUtilities;
 
-import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.widgets.JMultilineLabel;
 import org.openstreetmap.josm.tools.GBC;
@@ -204,5 +204,5 @@
             @Override
             public void run() {
-                JOptionPane.showMessageDialog(Main.parent, p, tr("Tracer2 error"), JOptionPane.ERROR_MESSAGE);
+                JOptionPane.showMessageDialog(MainApplication.getMainFrame(), p, tr("Tracer2 error"), JOptionPane.ERROR_MESSAGE);
             }
         });
Index: /applications/editors/josm/plugins/tracer2/src/org/openstreetmap/josm/plugins/tracer2/preferences/ServerParamDialog.java
===================================================================
--- /applications/editors/josm/plugins/tracer2/src/org/openstreetmap/josm/plugins/tracer2/preferences/ServerParamDialog.java	(revision 34563)
+++ /applications/editors/josm/plugins/tracer2/src/org/openstreetmap/josm/plugins/tracer2/preferences/ServerParamDialog.java	(revision 34564)
@@ -18,6 +18,6 @@
 import javax.swing.JTextField;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.gui.ExtendedDialog;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.tools.GBC;
 
@@ -111,5 +111,5 @@
 
     public ServerParamDialog(ServerParam param) {
-        super(Main.parent, tr("Tracer2") + " - " + tr("Parameter for server request"),
+        super(MainApplication.getMainFrame(), tr("Tracer2") + " - " + tr("Parameter for server request"),
                 new String[] {tr("OK"), tr("Cancel")},
                 true);
Index: /applications/editors/josm/plugins/tracer2/src/org/openstreetmap/josm/plugins/tracer2/preferences/ServerParamPanel.java
===================================================================
--- /applications/editors/josm/plugins/tracer2/src/org/openstreetmap/josm/plugins/tracer2/preferences/ServerParamPanel.java	(revision 34563)
+++ /applications/editors/josm/plugins/tracer2/src/org/openstreetmap/josm/plugins/tracer2/preferences/ServerParamPanel.java	(revision 34564)
@@ -16,5 +16,5 @@
 import javax.swing.JPanel;
 
-import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.gui.MainApplication;
 
 public class ServerParamPanel extends JPanel {
@@ -74,5 +74,5 @@
                 @Override
                 public void actionPerformed(ActionEvent arg0) {
-                    if (JOptionPane.showConfirmDialog(Main.parent,
+                    if (JOptionPane.showConfirmDialog(MainApplication.getMainFrame(),
                             tr("Delete parameter \"{0}\"?", param.getName()),
                             tr("Are you sure?"),
@@ -123,5 +123,5 @@
                 if (dialog.getShow()) {
                     JOptionPane pane = new JOptionPane(dialog, JOptionPane.PLAIN_MESSAGE, JOptionPane.OK_CANCEL_OPTION);
-                    JDialog dlg = pane.createDialog(Main.parent, tr("Tracer2") + " - " + tr("Select predefined parameter"));
+                    JDialog dlg = pane.createDialog(MainApplication.getMainFrame(), tr("Tracer2") + " - " + tr("Select predefined parameter"));
                     dlg.setVisible(true);
                     Object obj = pane.getValue();
Index: /applications/editors/josm/plugins/tracer2/src/org/openstreetmap/josm/plugins/tracer2/server/Request.java
===================================================================
--- /applications/editors/josm/plugins/tracer2/src/org/openstreetmap/josm/plugins/tracer2/server/Request.java	(revision 34563)
+++ /applications/editors/josm/plugins/tracer2/src/org/openstreetmap/josm/plugins/tracer2/server/Request.java	(revision 34564)
@@ -9,5 +9,5 @@
 import javax.swing.JOptionPane;
 
-import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.tools.HttpClient;
 
@@ -28,10 +28,10 @@
             return HttpClient.create(new URL(URL + strUrl)).connect().fetchContent();
         } catch (IOException e) {
-            JOptionPane.showMessageDialog(Main.parent,
+            JOptionPane.showMessageDialog(MainApplication.getMainFrame(),
                     tr("Tracer2Server isn''t running. Please start the Server.\nIf you don''t have the server, please download it from\n{0}.",
                             "http://sourceforge.net/projects/tracer2server/"), tr("Error"), JOptionPane.ERROR_MESSAGE);
             return "";
         } catch (Exception e) {
-            JOptionPane.showMessageDialog(Main.parent, tr("Tracer2Server hasn''t found anything.") + "\n",
+            JOptionPane.showMessageDialog(MainApplication.getMainFrame(), tr("Tracer2Server hasn''t found anything.") + "\n",
                     tr("Error"), JOptionPane.ERROR_MESSAGE);
             return "";
@@ -48,5 +48,5 @@
         if (strResponse.contains(strIdentifier)) {
             String strError = strResponse.replaceFirst(strIdentifier, "").trim();
-            JOptionPane.showMessageDialog(Main.parent, tr("Tracer2Server has detected an error.") + "\n" + strError,
+            JOptionPane.showMessageDialog(MainApplication.getMainFrame(), tr("Tracer2Server has detected an error.") + "\n" + strError,
                     tr("Error"), JOptionPane.ERROR_MESSAGE);
             return true;
