diff options
author | Max Kellermann <max@duempel.org> | 2012-08-15 22:03:02 +0200 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2012-08-15 23:02:00 +0200 |
commit | 4e1eb03287c1af889372ed4c63220a88d2032f78 (patch) | |
tree | 7a7ed59a73c6e7843b6c8c24e235abce23dc22b5 /src | |
parent | fcf0f8291dc23d5db329cd44119d69dde76238b2 (diff) | |
download | mpd-4e1eb03287c1af889372ed4c63220a88d2032f78.tar.gz mpd-4e1eb03287c1af889372ed4c63220a88d2032f78.tar.xz mpd-4e1eb03287c1af889372ed4c63220a88d2032f78.zip |
ProxyDatabase: obey visitor return values
Diffstat (limited to 'src')
-rw-r--r-- | src/db/ProxyDatabasePlugin.cxx | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/src/db/ProxyDatabasePlugin.cxx b/src/db/ProxyDatabasePlugin.cxx index 6211f5c74..68ba5a542 100644 --- a/src/db/ProxyDatabasePlugin.cxx +++ b/src/db/ProxyDatabasePlugin.cxx @@ -323,20 +323,23 @@ Visit(struct mpd_connection *connection, struct directory &parent, break; case MPD_ENTITY_TYPE_DIRECTORY: - Visit(connection, parent, recursive, - mpd_entity_get_directory(entity), - visit_directory, visit_song, visit_playlist, - error_r); + if (!Visit(connection, parent, recursive, + mpd_entity_get_directory(entity), + visit_directory, visit_song, visit_playlist, + error_r)) + return false; break; case MPD_ENTITY_TYPE_SONG: - Visit(parent, mpd_entity_get_song(entity), visit_song, - error_r); + if (!Visit(parent, mpd_entity_get_song(entity), + visit_song, error_r)) + return false; break; case MPD_ENTITY_TYPE_PLAYLIST: - Visit(parent, mpd_entity_get_playlist(entity), - visit_playlist, error_r); + if (!Visit(parent, mpd_entity_get_playlist(entity), + visit_playlist, error_r)) + return false; break; } } |