diff --git a/src/calibre/library/prefs.py b/src/calibre/library/prefs.py index 4bd39e20b2..1b80464d2a 100644 --- a/src/calibre/library/prefs.py +++ b/src/calibre/library/prefs.py @@ -84,13 +84,15 @@ class DBPrefs(dict): try: from_filename = os.path.join(library_path, 'metadata_db_prefs.json') with open(from_filename, "rb") as f: + self.clear() d = json.load(f, object_hook=from_json) self.db.conn.execute('DELETE FROM preferences') for k,v in d.iteritems(): raw = self.to_raw(v) self.db.conn.execute( - 'INSERT OR REPLACE INTO preferences (key,val) VALUES (?,?)', - (k, raw)) + 'INSERT INTO preferences (key,val) VALUES (?,?)', (k, raw)) + self.db.conn.commit() + self.update(d) except: import traceback traceback.print_exc() \ No newline at end of file