diff options
author | Miika Pekkarinen <miipekk@ihme.org> | 2007-07-21 17:35:19 +0000 |
---|---|---|
committer | Miika Pekkarinen <miipekk@ihme.org> | 2007-07-21 17:35:19 +0000 |
commit | 9d756e2760a0926aa416b22e276c4a5b2685e84e (patch) | |
tree | 21502b59d472d57f6cdb267eb96177784beec706 /apps/onplay.c | |
parent | 6ed7722db0f7e911684f5deb84cc4ae93d15ccac (diff) | |
download | rockbox-9d756e2760a0926aa416b22e276c4a5b2685e84e.tar.gz rockbox-9d756e2760a0926aa416b22e276c4a5b2685e84e.zip |
Queue song statistical data to the tagcache system and update entirely in background. Fixes ratings disappearing or not saving in the DB at all. Fixes also UI delay when stopping playback and new statistics are committed to DB.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13955 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/onplay.c')
-rw-r--r-- | apps/onplay.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/apps/onplay.c b/apps/onplay.c index cba03733fd..d7c2504650 100644 --- a/apps/onplay.c +++ b/apps/onplay.c | |||
@@ -953,11 +953,14 @@ char *rating_name(int selected_item, void * data, char *buffer) | |||
953 | static bool set_rating_inline(void) | 953 | static bool set_rating_inline(void) |
954 | { | 954 | { |
955 | struct mp3entry* id3 = audio_current_track(); | 955 | struct mp3entry* id3 = audio_current_track(); |
956 | if(id3) { | 956 | if (id3 && id3->tagcache_idx) |
957 | if(id3->rating<10) | 957 | { |
958 | if (id3->rating<10) | ||
958 | id3->rating++; | 959 | id3->rating++; |
959 | else | 960 | else |
960 | id3->rating=0; | 961 | id3->rating=0; |
962 | |||
963 | tagcache_update_numeric(id3->tagcache_idx, tag_rating, id3->rating); | ||
961 | } | 964 | } |
962 | return false; | 965 | return false; |
963 | } | 966 | } |