diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2006-11-11 23:38:13 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2006-11-11 23:38:13 +0000 |
commit | 10d70bd8a9ff70824fe4945dd2fef41c44a721fd (patch) | |
tree | a7061a72d1bc45a01a6ddcc527b086b16f188be7 | |
parent | bb2f696f21dd2685bf7c6b98ad0038cbbe516c1b (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.cc | 12 |
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 (); } |