fix kludgy assumption about item ordering in ops menu
authorPaul Davis <paul@linuxaudiosystems.com>
Thu, 5 Mar 2009 15:33:48 +0000 (15:33 +0000)
committerPaul Davis <paul@linuxaudiosystems.com>
Thu, 5 Mar 2009 15:33:48 +0000 (15:33 +0000)
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@4732 d708f5d6-7413-0410-9779-e7cbd77b26cf

gtk2_ardour/mixer_strip.cc
gtk2_ardour/mixer_strip.h

index a44a167ae8378cf3efbbac2456e98bcf74236a27..b3a73010b18e98fe0cbe3f0c5cde497c0e5d8c3d 100644 (file)
@@ -134,6 +134,7 @@ MixerStrip::init ()
        group_menu = 0;
        _marked_for_display = false;
        route_ops_menu = 0;
+       rename_menu_item = 0;
        ignore_comment_edit = false;
        ignore_toggle = false;
        ignore_speed_adjustment = false;
@@ -1048,6 +1049,7 @@ MixerStrip::build_route_ops_menu ()
 
        items.push_back (MenuElem (_("Save As Template"), mem_fun(*this, &RouteUI::save_as_template)));
        items.push_back (MenuElem (_("Rename"), mem_fun(*this, &RouteUI::route_rename)));
+       rename_menu_item = &items.back();
        items.push_back (SeparatorElem());
        items.push_back (CheckMenuElem (_("Active"), mem_fun (*this, &RouteUI::toggle_route_active)));
        route_active_menu_item = dynamic_cast<CheckMenuItem *> (&items.back());
@@ -1075,11 +1077,8 @@ MixerStrip::name_button_button_press (GdkEventButton* ev)
 {
        if (ev->button == 1 || ev->button == 3) {
                list_route_operations ();
-
-               Menu_Helpers::MenuList& items = route_ops_menu->items();
                /* do not allow rename if the track is record-enabled */
-               static_cast<MenuItem*> (&items.front())->set_sensitive (!_route->record_enabled());
-
+               rename_menu_item->set_sensitive (!_route->record_enabled());
                route_ops_menu->popup (1, ev->time);
        }
        return FALSE;
index 957701e22005d84428f1804535c486b781a145b4..898502127908b4383257edb12af9d91febd9e146 100644 (file)
@@ -210,6 +210,7 @@ class MixerStrip : public RouteUI, public Gtk::EventBox
        void set_automated_controls_sensitivity (bool yn);
 
        Gtk::Menu* route_ops_menu;
+       Gtk::MenuItem* rename_menu_item;
        void build_route_ops_menu ();
        gint name_button_button_press (GdkEventButton*);
        void list_route_operations ();