- items.push_back (RadioMenuElem (group, _("No group"), sigc::bind (sigc::mem_fun (*this, &RouteGroupMenu::set_group), (RouteGroup *) 0)));
-
- if (curr == 0) {
- static_cast<RadioMenuItem*> (&items.back())->set_active ();
+ items.push_back (RadioMenuElem (group, _("No Group")));
+ RadioMenuItem* i = static_cast<RadioMenuItem *> (&items.back ());
+ i->signal_activate().connect (sigc::bind (sigc::mem_fun (*this, &RouteGroupMenu::set_group), (RouteGroup *) 0));
+
+ if (groups.size() == 1 && *groups.begin() == 0) {
+ i->set_active ();
+ } else if (groups.size() > 1) {
+ i->set_inconsistent ();