diff options
Diffstat (limited to 'gtk2_ardour/io_selector.cc')
-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 (); } |