diff options
author | Lennart Poettering <lennart@poettering.net> | 2008-03-28 18:44:46 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2008-03-28 18:44:46 +0000 |
commit | c80c710d05ef5f29cf2394d32edc18f61eda4018 (patch) | |
tree | d0f3779969ed18ad0f412d3fc8b6252c96fca512 /src/pavucontrol.cc | |
parent | 98a7f6c5d12cadc5fc07350514657f015fe0e051 (diff) |
don't crash if server has no default sink/source set
git-svn-id: file:///home/lennart/svn/public/pavucontrol/trunk@68 c17c95f2-f111-0410-90bf-f30a9569010c
Diffstat (limited to 'src/pavucontrol.cc')
-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() { |