From 57bf3d8e5c01d5deffa7b65584d5c3132ef2a7c5 Mon Sep 17 00:00:00 2001 From: Scott Jackson Date: Fri, 16 Jan 2015 12:46:29 -0800 Subject: Fix crash on selecting context items with headers --- src/github/daneren2005/dsub/fragments/SelectDirectoryFragment.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/github/daneren2005/dsub/fragments/SelectDirectoryFragment.java b/src/github/daneren2005/dsub/fragments/SelectDirectoryFragment.java index ba884503..78c1a773 100644 --- a/src/github/daneren2005/dsub/fragments/SelectDirectoryFragment.java +++ b/src/github/daneren2005/dsub/fragments/SelectDirectoryFragment.java @@ -373,7 +373,7 @@ public class SelectDirectoryFragment extends SubsonicFragment implements Adapter Object selectedItem; int headers = entryList.getHeaderViewsCount(); if(albumContext) { - selectedItem = albums.get(info.position); + selectedItem = albumList.getItemAtPosition(info.position); } else { if(info.position == 0) { return false; -- cgit v1.2.3 From 02e0f441bb908fe65d9a8849e1abf768a0b722dc Mon Sep 17 00:00:00 2001 From: Scott Jackson Date: Fri, 16 Jan 2015 13:00:07 -0800 Subject: Fix crash due to context menu being called for entry list on behalf of header gridview --- .../daneren2005/dsub/fragments/SelectDirectoryFragment.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/github/daneren2005/dsub/fragments/SelectDirectoryFragment.java b/src/github/daneren2005/dsub/fragments/SelectDirectoryFragment.java index 78c1a773..805c0de0 100644 --- a/src/github/daneren2005/dsub/fragments/SelectDirectoryFragment.java +++ b/src/github/daneren2005/dsub/fragments/SelectDirectoryFragment.java @@ -334,12 +334,20 @@ public class SelectDirectoryFragment extends SubsonicFragment implements Adapter return; } entry = (Entry) entryList.getItemAtPosition(info.position); - albumContext = false; + // When List has Grid embedded in header, this is called against the header as well + if(entry != null) { + albumContext = false; + } } else { entry = (Entry) albumList.getItemAtPosition(info.position); albumContext = true; } + // Don't try to display a context menu if error here + if(entry == null) { + return; + } + onCreateContextMenu(menu, view, menuInfo, entry); if(!entry.isVideo() && !Util.isOffline(context) && (playlistId == null || !playlistOwner) && (podcastId == null || Util.isOffline(context) && podcastId != null)) { menu.removeItem(R.id.song_menu_remove_playlist); -- cgit v1.2.3