Bläddra i källkod

wxGUI: delete unused wx.Image instances when rendering

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@52436 15284696-431f-4ddb-bdfa-cd5b030d7da7
Anna Petrášová 12 år sedan
förälder
incheckning
76984f9dc3
1 ändrade filer med 9 tillägg och 0 borttagningar
  1. 9 0
      gui/wxpython/mapdisp/mapwindow.py

+ 9 - 0
gui/wxpython/mapdisp/mapwindow.py

@@ -529,6 +529,11 @@ class BufferedWindow(MapWindow, wx.Window):
             if overlay.mapfile is not None \
                and os.path.isfile(overlay.mapfile) and os.path.getsize(overlay.mapfile):
                 img = wx.Image(overlay.mapfile, wx.BITMAP_TYPE_ANY)
+
+                for key in self.imagedict.keys():
+                    if self.imagedict[key]['id'] == overlay.id:
+                        del self.imagedict[key]
+
                 self.imagedict[img] = { 'id' : overlay.id,
                                         'layer' : overlay }
                 imgs.append(img)
@@ -549,6 +554,10 @@ class BufferedWindow(MapWindow, wx.Window):
         else:
             img = None
         
+        for key in self.imagedict.keys():
+            if self.imagedict[key]['id'] == imgId:
+                del self.imagedict[key]
+
         self.imagedict[img] = { 'id': imgId }
         
         return img