Fix various minor mem leaks

This commit is contained in:
Kovid Goyal 2010-12-15 13:21:00 -07:00
parent 5dacd76a4e
commit 1e6ea48080
3 changed files with 10 additions and 1 deletions

View File

@ -540,6 +540,7 @@ def choose_dir(window, name, title, default_dir='~'):
parent=window, name=name, mode=QFileDialog.Directory, parent=window, name=name, mode=QFileDialog.Directory,
default_dir=default_dir) default_dir=default_dir)
dir = fd.get_files() dir = fd.get_files()
fd.setParent(None)
if dir: if dir:
return dir[0] return dir[0]
@ -560,6 +561,7 @@ def choose_files(window, name, title,
fd = FileDialog(title=title, name=name, filters=filters, fd = FileDialog(title=title, name=name, filters=filters,
parent=window, add_all_files_filter=all_files, mode=mode, parent=window, add_all_files_filter=all_files, mode=mode,
) )
fd.setParent(None)
if fd.accepted: if fd.accepted:
return fd.get_files() return fd.get_files()
return None return None
@ -570,6 +572,7 @@ def choose_images(window, name, title, select_only_single_file=True):
filters=[('Images', ['png', 'gif', 'jpeg', 'jpg', 'svg'])], filters=[('Images', ['png', 'gif', 'jpeg', 'jpg', 'svg'])],
parent=window, add_all_files_filter=False, mode=mode, parent=window, add_all_files_filter=False, mode=mode,
) )
fd.setParent(None)
if fd.accepted: if fd.accepted:
return fd.get_files() return fd.get_files()
return None return None

View File

@ -243,7 +243,9 @@ class AddAction(InterfaceAction):
if hasattr(self._adder, 'cleanup'): if hasattr(self._adder, 'cleanup'):
self._adder.cleanup() self._adder.cleanup()
self._adder = None self._adder.setParent(None)
del self._adder
self._adder = None
def _add_from_device_adder(self, paths=[], names=[], infos=[], def _add_from_device_adder(self, paths=[], names=[], infos=[],
on_card=None, model=None): on_card=None, model=None):

View File

@ -368,6 +368,10 @@ class Adder(QObject): # {{{
shutil.rmtree(self.worker.tdir) shutil.rmtree(self.worker.tdir)
except: except:
pass pass
self._parent = None
if hasattr(self, 'db_adder'):
self.db_adder.setParent(None)
@property @property
def number_of_books_added(self): def number_of_books_added(self):