Commit bfaca5dcfc55113e3f8fd3134e21ae9567a4097c
1 parent
d4ff9146
Exists in
master
and in
23 other branches
The measures was not being removed from the canvas
Showing
1 changed file
with
8 additions
and
5 deletions
Show diff stats
invesalius/data/viewer_slice.py
@@ -1378,12 +1378,15 @@ class Viewer(wx.Panel): | @@ -1378,12 +1378,15 @@ class Viewer(wx.Panel): | ||
1378 | self.interactor.Render() | 1378 | self.interactor.Render() |
1379 | 1379 | ||
1380 | def UpdateCanvas(self, evt=None): | 1380 | def UpdateCanvas(self, evt=None): |
1381 | - for (m, mr) in self.measures.get(self.orientation, self.slice_data.number): | ||
1382 | - try: | ||
1383 | - self.canvas.draw_list.remove(mr) | ||
1384 | - except ValueError: | ||
1385 | - pass | 1381 | + cp_draw_list = self.canvas.draw_list[:] |
1382 | + self.canvas.draw_list = [] | ||
1383 | + | ||
1384 | + # Removing all measures | ||
1385 | + for i in cp_draw_list: | ||
1386 | + if not isinstance(i, (measures.AngularMeasure, measures.LinearMeasure)): | ||
1387 | + self.canvas.draw_list.append(i) | ||
1386 | 1388 | ||
1389 | + # Then add all needed measures | ||
1387 | for (m, mr) in self.measures.get(self.orientation, self.slice_data.number): | 1390 | for (m, mr) in self.measures.get(self.orientation, self.slice_data.number): |
1388 | if m.visible: | 1391 | if m.visible: |
1389 | self.canvas.draw_list.append(mr) | 1392 | self.canvas.draw_list.append(mr) |