summaryrefslogtreecommitdiff
path: root/src/Instance.cxx
diff options
context:
space:
mode:
authorMax Kellermann <max@musicpd.org>2020-01-20 13:28:58 +0100
committerMax Kellermann <max@musicpd.org>2020-01-20 13:33:01 +0100
commit49309b419f47d7acd4ba3ab2c6d1923df875587f (patch)
tree13baf14af8ccc6359f89b6a161ea562c222ec2d9 /src/Instance.cxx
parent879bafb8375da2b413d68307c0bcfcd5edb27e69 (diff)
Partition: add a local idle_monitor
Make idle events per-partition, but leave Instance::EmitIdle() and its underlying idle_monitor which broadcasts idle events to all partitions.
Diffstat (limited to 'src/Instance.cxx')
-rw-r--r--src/Instance.cxx9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/Instance.cxx b/src/Instance.cxx
index fd2bbac55..bcb8502f9 100644
--- a/src/Instance.cxx
+++ b/src/Instance.cxx
@@ -180,10 +180,7 @@ Instance::OnRemoteTag(const char *uri, const Tag &tag) noexcept
void
Instance::OnIdle(unsigned flags) noexcept
{
- /* send "idle" notifications to all subscribed
- clients */
- client_list->IdleAdd(flags);
-
- if (flags & (IDLE_PLAYLIST|IDLE_PLAYER|IDLE_MIXER|IDLE_OUTPUT))
- OnStateModified();
+ /* broadcast to all partitions */
+ for (auto &partition : partitions)
+ partition.EmitIdle(flags);
}