From c78cbccae53c25edf0f1d8f9a0ae42935f4610bd Mon Sep 17 00:00:00 2001 From: Brian Pellin Date: Tue, 27 Jan 2009 13:14:34 -0600 Subject: [PATCH] Fix crash with 2nd or 3rd root level group. --- AndroidManifest.xml | 2 +- CHANGELOG | 4 ++++ res/values/strings.xml | 2 +- src/com/android/keepass/Database.java | 3 ++- src/com/android/keepass/GroupActivity.java | 4 +++- 5 files changed, 11 insertions(+), 4 deletions(-) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index aa34df0d6..9b33e6d92 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -1,7 +1,7 @@ + android:versionName="0.1.2" android:versionCode="3"> diff --git a/CHANGELOG b/CHANGELOG index d747325d1..0612b17d7 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,7 @@ +KeePassDroid (0.1.2) + + * Fix crash when accessing the first root level group. + KeePassDroid (0.1.1) * Minor tweaks to layout. diff --git a/res/values/strings.xml b/res/values/strings.xml index bab9001bf..a5ee111e1 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -18,5 +18,5 @@ Copy User Copy Password Filename: -#FF00FF + diff --git a/src/com/android/keepass/Database.java b/src/com/android/keepass/Database.java index cf705ee85..b18c4421a 100644 --- a/src/com/android/keepass/Database.java +++ b/src/com/android/keepass/Database.java @@ -72,8 +72,9 @@ public class Database { gRoot = cur.parent; gGroups.put(cur.groupId, new WeakReference(cur)); populateGlobals(cur); - return; } + + return; } Vector childGroups = currentGroup.childGroups; diff --git a/src/com/android/keepass/GroupActivity.java b/src/com/android/keepass/GroupActivity.java index 22642a548..f62bd86cc 100644 --- a/src/com/android/keepass/GroupActivity.java +++ b/src/com/android/keepass/GroupActivity.java @@ -19,6 +19,7 @@ */ package com.android.keepass; +import java.lang.ref.WeakReference; import java.util.Vector; import org.phoneid.keepassj2me.PwEntry; @@ -76,7 +77,8 @@ public class GroupActivity extends ListActivity { if ( id == -1 ) { mGroup = Database.gRoot; } else { - mGroup = Database.gGroups.get(id).get(); + WeakReference wPw = Database.gGroups.get(id); + mGroup = wPw.get(); } assert(mGroup != null);