def NiceFontForPlatform(self):
         if wx.Platform == "__WXMSW__":
-            return wx.Font(10, wx.MODERN, wx.NORMAL, wx.NORMAL)
+            font = wx.Font(10, wx.MODERN, wx.NORMAL, wx.NORMAL)
         else:
-            return wx.Font(12, wx.MODERN, wx.NORMAL, wx.NORMAL, False)
+            font = wx.Font(12, wx.MODERN, wx.NORMAL, wx.NORMAL, False)
+        if wx.Platform == "__WXMAC__":
+            font.SetNoAntiAliasing()
+        return font
 
     def UnixKeyHack(self, key):
         #
         pass
 
     def DrawEditText(self, t, x, y, dc):
-        dc.DrawText(t, (x * self.fw, y * self.fh))
+        dc.DrawText(t, x * self.fw, y * self.fh)
 
     def DrawLine(self, line, dc):
         if self.IsLine(line):
         x = 0
         y = (len(self.lines) - self.sy) * self.fh
         hasTransparency = 1
-        dc.DrawBitmap(self.eofMarker, (x, y), hasTransparency)
+        dc.DrawBitmap(self.eofMarker, x, y, hasTransparency)
 
 ##------------------ cursor-related functions
 
         szy = self.fh
         x = xp * szx
         y = yp * szy
-        dc.Blit((x,y), (szx,szy), dc, (x,y), wx.SRC_INVERT)
+        dc.Blit(x,y, szx,szy, dc, x,y, wx.SRC_INVERT)
         self.sco_x = xp
         self.sco_y = yp
 
         self.SelectEnd = None
         self.UpdateView()
         self.CaptureMouse()
+        self.SetFocus()
 
     def OnLeftUp(self, event):
         if not self.HasCapture():
 
 
     def AdjustScrollbars(self):
-        for i in range(2):
-            self.SetCharDimensions()
-            self.scroller.SetScrollbars(
-                self.fw, self.fh,
-                self.CalcMaxLineLen()+3, max(self.LinesInFile()+1, self.sh),
-                self.sx, self.sy)
+        if self:
+            for i in range(2):
+                self.SetCharDimensions()
+                self.scroller.SetScrollbars(
+                    self.fw, self.fh,
+                    self.CalcMaxLineLen()+3, max(self.LinesInFile()+1, self.sh),
+                    self.sx, self.sy)
 
 #------------ backspace, delete, return
 
     def MoveLeft(self, event):
         if self.cx == 0:
             if self.cy == 0:
-                wxBell()
+                wx.Bell()
             else:
                 self.cVert(-1)
                 self.cx = self.CurrentLineLength()
         linelen = self.CurrentLineLength()
         if self.cx == linelen:
             if self.cy == len(self.lines) - 1:
-                wxBell()
+                wx.Bell()
             else:
                 self.cx = 0
                 self.cVert(1)