summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2006-11-11 23:38:13 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2006-11-11 23:38:13 +0000
commit10d70bd8a9ff70824fe4945dd2fef41c44a721fd (patch)
treea7061a72d1bc45a01a6ddcc527b086b16f188be7
parentbb2f696f21dd2685bf7c6b98ad0038cbbe516c1b (diff)
do not crash in IO Selector when there are no ports
git-svn-id: svn://localhost/ardour2/trunk@1111 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r--gtk2_ardour/io_selector.cc12
1 files changed, 8 insertions, 4 deletions
diff --git a/gtk2_ardour/io_selector.cc b/gtk2_ardour/io_selector.cc
index e800f9311b..4c1e94ce89 100644
--- a/gtk2_ardour/io_selector.cc
+++ b/gtk2_ardour/io_selector.cc
@@ -480,8 +480,10 @@ IOSelector::display_ports ()
if (!selected_port_tview) {
selected_port_tview = firsttview;
}
-
- select_treeview (selected_port_tview);
+
+ if (selected_port_tview) {
+ select_treeview (selected_port_tview);
+ }
}
bool
@@ -645,6 +647,10 @@ IOSelector::select_next_treeview ()
{
slist<TreeView*>::iterator next;
+ if (port_displays.empty() || port_displays.size() == 1) {
+ return;
+ }
+
for (slist<TreeView *>::iterator i = port_displays.begin(); i != port_displays.end(); ++i) {
if ((*i)->get_name() == "IOSelectorPortListSelected") {
@@ -701,8 +707,6 @@ IOSelector::select_treeview (TreeView* tview)
gtk_widget_queue_draw (ccol->button);
}
- Port* port = reinterpret_cast<Port *> ((*i)->get_data (_("port")));
-
(*i)->set_name ("IOSelectorPortList");
(*i)->queue_draw ();
}