summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2008-03-28 18:44:46 +0000
committerLennart Poettering <lennart@poettering.net>2008-03-28 18:44:46 +0000
commitc80c710d05ef5f29cf2394d32edc18f61eda4018 (patch)
treed0f3779969ed18ad0f412d3fc8b6252c96fca512
parent98a7f6c5d12cadc5fc07350514657f015fe0e051 (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
-rw-r--r--src/pavucontrol.cc10
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() {