mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Fix memory leak when switching libraries
This commit is contained in:
parent
396da1f7bc
commit
f227086913
@ -384,7 +384,14 @@ class ChooseLibraryAction(InterfaceAction):
|
|||||||
return
|
return
|
||||||
|
|
||||||
prefs['library_path'] = loc
|
prefs['library_path'] = loc
|
||||||
|
#from calibre.utils.mem import memory
|
||||||
|
#import weakref, gc
|
||||||
|
#ref = weakref.ref(self.gui.library_view.model().db)
|
||||||
|
#before = memory()/1024**2
|
||||||
self.gui.library_moved(loc)
|
self.gui.library_moved(loc)
|
||||||
|
#print gc.get_referrers(ref)[0]
|
||||||
|
#for i in xrange(3): gc.collect()
|
||||||
|
#print 'leaked:', memory()/1024**2 - before
|
||||||
|
|
||||||
def qs_requested(self, idx, *args):
|
def qs_requested(self, idx, *args):
|
||||||
self.switch_requested(self.qs_locations[idx])
|
self.switch_requested(self.qs_locations[idx])
|
||||||
|
@ -440,6 +440,7 @@ class Main(MainWindow, MainWindowMixin, DeviceMixin, EmailMixin, # {{{
|
|||||||
except:
|
except:
|
||||||
import traceback
|
import traceback
|
||||||
traceback.print_exc()
|
traceback.print_exc()
|
||||||
|
olddb.break_cycles()
|
||||||
if self.device_connected:
|
if self.device_connected:
|
||||||
self.set_books_in_library(self.booklists(), reset=True)
|
self.set_books_in_library(self.booklists(), reset=True)
|
||||||
self.refresh_ondevice()
|
self.refresh_ondevice()
|
||||||
|
@ -361,6 +361,8 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns):
|
|||||||
self.refresh()
|
self.refresh()
|
||||||
self.last_update_check = self.last_modified()
|
self.last_update_check = self.last_modified()
|
||||||
|
|
||||||
|
def break_cycles(self):
|
||||||
|
self.data = self.field_metadata = self.prefs = self.listeners = None
|
||||||
|
|
||||||
def initialize_database(self):
|
def initialize_database(self):
|
||||||
metadata_sqlite = open(P('metadata_sqlite.sql'), 'rb').read()
|
metadata_sqlite = open(P('metadata_sqlite.sql'), 'rb').read()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user