Merge pull request #1401 from musteresel/fix-graph-images-memleak
Fix memory leak due to Images of Graph
This commit is contained in:
commit
2780e20262
2 changed files with 8 additions and 4 deletions
|
@ -2033,7 +2033,7 @@ class Graph(Element):
|
|||
self.DragSubmits = drag_submits
|
||||
self.ClickPosition = (None, None)
|
||||
self.MouseButtonDown = False
|
||||
self.Images = []
|
||||
self.Images = {}
|
||||
self.RightClickMenu = right_click_menu
|
||||
|
||||
super().__init__(ELEM_TYPE_GRAPH, background_color=background_color, size=canvas_size, pad=pad, key=key,
|
||||
|
@ -2188,9 +2188,9 @@ class Graph(Element):
|
|||
print('*** WARNING - The Graph element has not been finalized and cannot be drawn upon ***')
|
||||
print('Call Window.Finalize() prior to this operation')
|
||||
return None
|
||||
self.Images.append(image)
|
||||
try: # in case closed with X
|
||||
id = self._TKCanvas2.create_image(converted_point, image=image, anchor=tk.NW)
|
||||
self.Images[id] = image
|
||||
except:
|
||||
id = None
|
||||
return id
|
||||
|
@ -2202,6 +2202,7 @@ class Graph(Element):
|
|||
print('*** WARNING - The Graph element has not been finalized and cannot be drawn upon ***')
|
||||
print('Call Window.Finalize() prior to this operation')
|
||||
return None
|
||||
self.Images = {}
|
||||
try: # in case window was closed with X
|
||||
self._TKCanvas2.delete('all')
|
||||
except:
|
||||
|
@ -2210,6 +2211,7 @@ class Graph(Element):
|
|||
|
||||
def DeleteFigure(self, id):
|
||||
try:
|
||||
del self.Images[id]
|
||||
self._TKCanvas2.delete(id)
|
||||
except:
|
||||
print('DeleteFigure - bad ID {}'.format(id))
|
||||
|
|
|
@ -2043,7 +2043,7 @@ class Graph(Element):
|
|||
self.DragSubmits = drag_submits
|
||||
self.ClickPosition = (None, None)
|
||||
self.MouseButtonDown = False
|
||||
self.Images = []
|
||||
self.Images = {}
|
||||
self.RightClickMenu = right_click_menu
|
||||
|
||||
super().__init__(ELEM_TYPE_GRAPH, background_color=background_color, size=canvas_size, pad=pad, key=key,
|
||||
|
@ -2198,9 +2198,9 @@ class Graph(Element):
|
|||
print('*** WARNING - The Graph element has not been finalized and cannot be drawn upon ***')
|
||||
print('Call Window.Finalize() prior to this operation')
|
||||
return None
|
||||
self.Images.append(image)
|
||||
try: # in case closed with X
|
||||
id = self._TKCanvas2.create_image(converted_point, image=image, anchor=tk.NW)
|
||||
self.Images[id] = image
|
||||
except:
|
||||
id = None
|
||||
return id
|
||||
|
@ -2212,6 +2212,7 @@ class Graph(Element):
|
|||
print('*** WARNING - The Graph element has not been finalized and cannot be drawn upon ***')
|
||||
print('Call Window.Finalize() prior to this operation')
|
||||
return None
|
||||
self.Images = {}
|
||||
try: # in case window was closed with X
|
||||
self._TKCanvas2.delete('all')
|
||||
except:
|
||||
|
@ -2220,6 +2221,7 @@ class Graph(Element):
|
|||
|
||||
def DeleteFigure(self, id):
|
||||
try:
|
||||
del self.Images[id]
|
||||
self._TKCanvas2.delete(id)
|
||||
except:
|
||||
print('DeleteFigure - bad ID {}'.format(id))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue