Index: trunk/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java	(revision 1841)
+++ trunk/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java	(revision 1842)
@@ -50,4 +50,5 @@
 import org.openstreetmap.josm.gui.MapFrame;
 import org.openstreetmap.josm.gui.MapView;
+import org.openstreetmap.josm.gui.OptionPaneUtil;
 import org.openstreetmap.josm.gui.layer.Layer;
 import org.openstreetmap.josm.gui.layer.MapViewPaintable;
@@ -338,6 +339,10 @@
             n = new Node(Main.map.mapView.getLatLon(e.getX(), e.getY()));
             if (n.getCoor().isOutSideWorld()) {
-                JOptionPane.showMessageDialog(Main.parent,
-                        tr("Cannot add a node outside of the world."));
+                OptionPaneUtil.showMessageDialog(
+                        Main.parent,
+                        tr("Cannot add a node outside of the world."),
+                        tr("Warning"),
+                        JOptionPane.WARNING_MESSAGE
+                );
                 return;
             }
Index: trunk/src/org/openstreetmap/josm/actions/mapmode/SelectAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/mapmode/SelectAction.java	(revision 1841)
+++ trunk/src/org/openstreetmap/josm/actions/mapmode/SelectAction.java	(revision 1842)
@@ -45,4 +45,5 @@
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
 import org.openstreetmap.josm.tools.ImageProvider;
+import org.openstreetmap.josm.tools.PlatformHookOsx;
 import org.openstreetmap.josm.tools.Shortcut;
 
@@ -58,5 +59,15 @@
  */
 public class SelectAction extends MapMode implements SelectionEnded {
-    public static boolean needMouseMove = false;
+
+    /**
+     * Replies true if we are currently running on OSX
+     * 
+     * @return true if we are currently running on OSX
+     */
+    public static boolean isPlatformOsx() {
+        return Main.platform != null
+        && Main.platform instanceof PlatformHookOsx;
+    }
+
     enum Mode { move, rotate, select }
     private Mode mode = null;
@@ -254,10 +265,9 @@
     }
 
-    /**
-     * Mac OSX simulates with  ctrl + mouse 1  the second mouse button hence no dragging events get fired.
-     *
-     */
+
     @Override public void mouseMoved(MouseEvent e) {
-        if (needMouseMove && mode == Mode.rotate) {
+        // Mac OSX simulates with  ctrl + mouse 1  the second mouse button hence no dragging events get fired.
+        //
+        if (isPlatformOsx() && mode == Mode.rotate) {
             mouseDragged(e);
         }
Index: trunk/src/org/openstreetmap/josm/tools/PlatformHookOsx.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/PlatformHookOsx.java	(revision 1841)
+++ trunk/src/org/openstreetmap/josm/tools/PlatformHookOsx.java	(revision 1842)
@@ -14,8 +14,9 @@
 
 /**
-  * see PlatformHook.java
-  */
+ * see PlatformHook.java
+ */
 public class PlatformHookOsx extends PlatformHookUnixoid implements PlatformHook, InvocationHandler {
     private static PlatformHookOsx ivhandler = new PlatformHookOsx();
+    @Override
     public void preStartupHook(){
         // This will merge our MenuBar into the system menu.
@@ -25,4 +26,5 @@
         System.setProperty("apple.laf.useScreenMenuBar", "true");
     }
+    @Override
     public void startupHook() {
         // Here we register callbacks for the menu entries in the system menu
@@ -42,7 +44,4 @@
             System.out.println("Failed to register with OSX: " + ex);
         }
-
-        // Ctrl + mouse 1 is suppressing mouseDragged events
-        SelectAction.needMouseMove = true;
     }
     public Object invoke (Object proxy, Method method, Object[] args) throws Throwable {
@@ -55,7 +54,6 @@
         } else if (method.getName().equals("handlePreferences")) {
             Main.main.menu.preferences.actionPerformed(null);
-        } else {
+        } else
             return null;
-        }
         if (args[0] != null) {
             try {
@@ -67,8 +65,10 @@
         return null;
     }
+    @Override
     public void openUrl(String url) throws IOException {
         // Ain't that KISS?
         Runtime.getRuntime().exec("open " + url);
     }
+    @Override
     public void initShortcutGroups() {
         // Everything but Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_MENU is guesswork.
@@ -97,4 +97,5 @@
         Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT2+Shortcut.GROUP_MNEMONIC),   Integer.toString(KeyEvent.ALT_DOWN_MASK));
     }
+    @Override
     public void initSystemShortcuts() {
         // Yeah, it's a long, long list. And people always complain that OSX has no shortcuts.
@@ -235,4 +236,5 @@
 
     }
+    @Override
     public String makeTooltip(String name, Shortcut sc) {
         String lafid = UIManager.getLookAndFeel().getID();
@@ -243,13 +245,21 @@
         }
         String result = "";
-        if (canHtml) result += "<html>";
+        if (canHtml) {
+            result += "<html>";
+        }
         result += name;
         if (sc != null && sc.getKeyText().length() != 0) {
             result += " ";
-            if (canHtml) result += "<font size='-2'>";
+            if (canHtml) {
+                result += "<font size='-2'>";
+            }
             result += "("+sc.getKeyText()+")";
-            if (canHtml) result += "</font>";
-        }
-        if (canHtml) result += "&nbsp;</html>";
+            if (canHtml) {
+                result += "</font>";
+            }
+        }
+        if (canHtml) {
+            result += "&nbsp;</html>";
+        }
         return result;
     }
