mood: Do not handle events if no mood is active.
authorAndre Noll <maan@systemlinux.org>
Sun, 6 Sep 2009 20:23:45 +0000 (22:23 +0200)
committerAndre Noll <maan@systemlinux.org>
Sun, 6 Sep 2009 20:23:45 +0000 (22:23 +0200)
In case a file is being removed with "para_client rm" while in playlist mode,
the following assertion triggers:

mood.c:521: del_afs_statistics: Assertion `n' failed.

This happens because the file is contained in the score table but statistics are not enabled.
Fix it by ignoring events if cuurent_mood is NULL.

mood.c

diff --git a/mood.c b/mood.c
index 24d1de29056812973d33a18a5ed7df378a9f72ad..9f1d7745a3589565045b919af94ad02b3f73602d 100644 (file)
--- a/mood.c
+++ b/mood.c
@@ -1059,7 +1059,9 @@ int reload_current_mood(void)
 int moods_event_handler(enum afs_events event, __a_unused struct para_buffer *pb,
                void *data)
 {
 int moods_event_handler(enum afs_events event, __a_unused struct para_buffer *pb,
                void *data)
 {
-       switch(event) {
+       if (!current_mood)
+               return 0;
+       switch (event) {
        /*
         * The three blob events might change the set of admissible files,
         * so we must reload the score list.
        /*
         * The three blob events might change the set of admissible files,
         * so we must reload the score list.