Overwrite breakpoints when launching pygdb from vim, updating vim also after quit
[pygdb.git] / WatchesFrame.py
index 10a46950083440f130adfb45b216ac27586fe9b1..0ee6623645fa9bd285dc1f3192d7adac0e18de75 100644 (file)
@@ -20,6 +20,8 @@ class WatchesFrame (StatusFrame.StatusFrame):
                StatusFrame.StatusFrame.__init__(self, debugger)
                self.set_label("Watches")
 
+               debugger.gotActiveCallback += [self.updateValues]
+
                vbox = gtk.VBox(False, 5)
                self.add(vbox)
 
@@ -92,7 +94,7 @@ class WatchesFrame (StatusFrame.StatusFrame):
                for w in conf.watches:
                        iter = self.model.append()
                        self.model.set(iter, 0, w["expr"], 1, "<unkown>", 2, True)
-               self.updateValues(None)
+               self.updateValues(None, None)
 
 
        def fillConfiguration(self, conf):
@@ -112,16 +114,16 @@ class WatchesFrame (StatusFrame.StatusFrame):
                selection = self.tv.get_selection()
                model, paths = selection.get_selected_rows()
 
-               for path in paths:
+               for path in reversed(paths):
                        iter = model.get_iter(path)
                        model.remove(iter)
 
-       def updateValues(self, pos):
+       def updateValues(self, status, param):
                iter = self.model.get_iter_first()
                while iter != None:
                        expr, = self.model.get(iter, 0)
-                        res = self.debugger.getExpression(expr)
-                        self.model.set(iter, 1, res)
+                       res = self.debugger.getExpression(expr)
+                       self.model.set(iter, 1, res)
 
                        iter = self.model.iter_next(iter)