diff --git a/src/com/keepassdroid/Database.java b/src/com/keepassdroid/Database.java index 360348324..7d1c9573b 100644 --- a/src/com/keepassdroid/Database.java +++ b/src/com/keepassdroid/Database.java @@ -185,9 +185,11 @@ public class Database { } public void initSearch() { - searchHelper.open(); - searchHelper.clear(); - searchHelper.close(); + if ( searchHelper != null ) { + searchHelper.open(); + searchHelper.clear(); + searchHelper.close(); + } } } diff --git a/src/com/keepassdroid/database/AddEntry.java b/src/com/keepassdroid/database/AddEntry.java index 991d42af4..4c3eca0f5 100644 --- a/src/com/keepassdroid/database/AddEntry.java +++ b/src/com/keepassdroid/database/AddEntry.java @@ -26,6 +26,7 @@ import org.phoneid.keepassj2me.PwGroup; import org.phoneid.keepassj2me.Types; import com.keepassdroid.Database; +import com.keepassdroid.search.SearchDbHelper; public class AddEntry extends RunnableOnFinish { private Database mDb; @@ -76,7 +77,10 @@ public class AddEntry extends RunnableOnFinish { mDb.gEntries.put(Types.bytestoUUID(mEntry.uuid), new WeakReference(mEntry)); // Add entry to search index - mDb.searchHelper.insertEntry(mEntry); + SearchDbHelper helper = mDb.searchHelper; + helper.open(); + helper.insertEntry(mEntry); + helper.close(); } else { // Remove from group mEntry.parent.childEntries.removeElement(mEntry); diff --git a/src/com/keepassdroid/database/UpdateEntry.java b/src/com/keepassdroid/database/UpdateEntry.java index 217633bf6..cb769f27c 100644 --- a/src/com/keepassdroid/database/UpdateEntry.java +++ b/src/com/keepassdroid/database/UpdateEntry.java @@ -25,6 +25,7 @@ import org.phoneid.keepassj2me.PwEntry; import org.phoneid.keepassj2me.PwGroup; import com.keepassdroid.Database; +import com.keepassdroid.search.SearchDbHelper; public class UpdateEntry extends RunnableOnFinish { private Database mDb; @@ -78,7 +79,10 @@ public class UpdateEntry extends RunnableOnFinish { } // Update search index - mDb.searchHelper.updateEntry(mOldE); + SearchDbHelper helper = mDb.searchHelper; + helper.open(); + helper.updateEntry(mOldE); + helper.close(); } } else { // If we fail to save, back out changes to global structure