From c51b27d401b2e6b1b86989c7823c2dda6f14d26f Mon Sep 17 00:00:00 2001 From: Andrzej Rybczak Date: Fri, 18 Dec 2020 14:32:19 +0100 Subject: [PATCH] Do not loop after sending a database update command to Mopidy --- CHANGELOG.md | 1 + src/mpdpp.cpp | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7ca0893a..294dd870 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,7 @@ * Support gstreamer's udpsink as a data source for visualization (Mopidy). * Deprecate `visualizer_fifo_path` in favor of `visualizer_data_source`. * Don't run volume changing actions if there is no mixer. +* Do not loop after sending a database update command to Mopidy. # ncmpcpp-0.8.2 (2018-04-11) * Help screen: fixed display of EoF keycode diff --git a/src/mpdpp.cpp b/src/mpdpp.cpp index c79bbe6d..f09fe869 100644 --- a/src/mpdpp.cpp +++ b/src/mpdpp.cpp @@ -214,7 +214,11 @@ Status Connection::getStatus() void Connection::UpdateDirectory(const std::string &path) { prechecksNoCommandsList(); - mpd_run_update(m_connection.get(), path.c_str()); + // Use update as mpd_run_update doesn't call mpd_response_finish if the id + // returned from mpd_recv_update_id is 0 which breaks mopidy. + mpd_send_update(m_connection.get(), path.c_str()); + mpd_recv_update_id(m_connection.get()); + mpd_response_finish(m_connection.get()); checkErrors(); }