diff --git a/src/org/kreed/vanilla/PlaybackService.java b/src/org/kreed/vanilla/PlaybackService.java index aa77adb7..ae6175c9 100644 --- a/src/org/kreed/vanilla/PlaybackService.java +++ b/src/org/kreed/vanilla/PlaybackService.java @@ -1149,7 +1149,13 @@ public final class PlaybackService extends Service */ public void runQuery(int mode, QueryTask query, int jumpTo) { - int count = mTimeline.addSongs(mode, query.runQuery(getContentResolver()), jumpTo, query.getExtra()); + Cursor cursor = query.runQuery(getContentResolver()); + if (cursor == null) { + return; + } + + int count = mTimeline.addSongs(mode, cursor, jumpTo, query.getExtra()); + cursor.close(); int text; diff --git a/src/org/kreed/vanilla/SongTimeline.java b/src/org/kreed/vanilla/SongTimeline.java index b9fb57bb..d0f61a62 100644 --- a/src/org/kreed/vanilla/SongTimeline.java +++ b/src/org/kreed/vanilla/SongTimeline.java @@ -614,8 +614,6 @@ public final class SongTimeline { broadcastChangedSongs(); } - cursor.close(); - changed(); return count;