# HG changeset patch
# User Laurent Bessard
# Date 1362502611 -3600
# Node ID f1c6b7a6f44b3e8ade94d5107b603389958b5e7c
# Parent  463d4b2b058db1fd16ced6e49ce4e4401b775a51# Parent  c0dcbbdb0bb1046473ddfa7054f34d586e6a2112
Merged

diff -r 463d4b2b058d -r f1c6b7a6f44b controls/CustomGrid.py
--- a/controls/CustomGrid.py	Tue Mar 05 20:14:12 2013 +0900
+++ b/controls/CustomGrid.py	Tue Mar 05 17:56:51 2013 +0100
@@ -92,9 +92,8 @@
         else:
             self.Table.InsertRow(new_row, self.DefaultValue.copy())
             self.Table.ResetView(self)
-        self.SetGridCursor(new_row, col)
-        self.MakeCellVisible(new_row, col)
-        self.RefreshButtons()
+        if new_row is not None:
+            self.SetSelectedRow(new_row)
 
     def DeleteRow(self):
         self.CloseEditControl()
@@ -106,10 +105,7 @@
             else:
                 self.Table.RemoveRow(row)
                 self.Table.ResetView(self)
-            new_row = min(row, self.Table.GetNumberRows() - 1)
-            self.SetGridCursor(new_row, col)
-            self.MakeCellVisible(new_row, col)
-            self.RefreshButtons()
+            self.SetSelectedRow(min(row, self.Table.GetNumberRows() - 1))
 
     def MoveRow(self, row, move):
         self.CloseEditControl()
@@ -121,10 +117,14 @@
             if new_row != row:
                 self.Table.ResetView(self)
         if new_row != row:
-            self.SetGridCursor(new_row, col)
-            self.MakeCellVisible(new_row, col)
-            self.RefreshButtons()
-
+            self.SetSelectedRow(new_row)
+    
+    def SetSelectedRow(self, row):
+        col = self.GetGridCursorCol()
+        self.SetGridCursor(row, col)
+        self.MakeCellVisible(row, col)
+        self.RefreshButtons()
+        
     def OnAddButton(self, event):
         self.AddRow()
         self.SetFocus()
diff -r 463d4b2b058d -r f1c6b7a6f44b controls/DebugVariablePanel.py
--- a/controls/DebugVariablePanel.py	Tue Mar 05 20:14:12 2013 +0900
+++ b/controls/DebugVariablePanel.py	Tue Mar 05 17:56:51 2013 +0100
@@ -1670,12 +1670,18 @@
                 panel.OnDragging(x_mouse - x, y_mouse - y)
             else:
                 panel.SetHighlight(HIGHLIGHT_NONE)
-        self.ForceRefresh()
+        if wx.Platform == "__WXMSW__":
+            self.RefreshView()
+        else:
+            self.ForceRefresh()
     
     def ResetHighlight(self):
         for panel in self.GraphicPanels:
             panel.SetHighlight(HIGHLIGHT_NONE)
-        self.ForceRefresh()
+        if wx.Platform == "__WXMSW__":
+            self.RefreshView()
+        else:
+            self.ForceRefresh()
     
     def IsDragging(self):
         return self.DraggingAxesPanel is not None