dc = evt.GetDC()
 
         if not dc:
-            dc = wxClientDC(self)
+            dc = wx.ClientDC(self)
             rect = self.GetUpdateRegion().GetBox()
             dc.SetClippingRect(rect)
         self.TileBackground(dc)
         self.dragImage.EndDrag()
         self.dragImage = None
 
-        dc = wx.ClientDC(self)
-
         if self.hiliteShape:
-            self.hiliteShape.Draw(dc)
+            self.RefreshRect(self.hiliteShape.GetRect())
             self.hiliteShape = None
 
         # reposition and draw the shape
             )
             
         self.dragShape.shown = True
-        self.dragShape.Draw(dc)
+        self.RefreshRect(self.dragShape.GetRect())
         self.dragShape = None
 
+
     # The mouse is moving
     def OnMotion(self, evt):
         # Ignore mouse movement if we're not dragging.