diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/pavucontrol.cc | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/pavucontrol.cc b/src/pavucontrol.cc index 5e3735b..5040f16 100644 --- a/src/pavucontrol.cc +++ b/src/pavucontrol.cc @@ -824,6 +824,9 @@ void MainWindow::updateClient(const pa_client_info &info) { void MainWindow::updateServer(const pa_server_info &info) { + defaultSourceName = info.default_source_name ? info.default_source_name : ""; + defaultSinkName = info.default_sink_name ? info.default_sink_name : ""; + for (std::map<uint32_t, SinkWidget*>::iterator i = sinkWidgets.begin(); i != sinkWidgets.end(); ++i) { SinkWidget *w = i->second; @@ -831,7 +834,7 @@ void MainWindow::updateServer(const pa_server_info &info) { continue; w->updating = true; - w->defaultMenuItem.set_active(w->name == info.default_sink_name); + w->defaultMenuItem.set_active(w->name == defaultSinkName); w->updating = false; } @@ -842,12 +845,9 @@ void MainWindow::updateServer(const pa_server_info &info) { continue; w->updating = true; - w->defaultMenuItem.set_active(w->name == info.default_source_name); + w->defaultMenuItem.set_active(w->name == defaultSourceName); w->updating = false; } - - defaultSourceName = info.default_source_name; - defaultSinkName = info.default_sink_name; } void MainWindow::updateDeviceVisibility() { |