run bundle fixup code for all platforms
[ardour.git] / gtk2_ardour / editor.cc
index 931196115f16bd4f109df5ef2f1fb13a063db67f..864e2eab272e260a0f84ccfa6fa1301b7d4e8bb3 100644 (file)
@@ -485,7 +485,6 @@ Editor::Editor ()
 
        controls_layout.add_events (Gdk::BUTTON_PRESS_MASK|Gdk::BUTTON_RELEASE_MASK|Gdk::ENTER_NOTIFY_MASK|Gdk::LEAVE_NOTIFY_MASK);
        controls_layout.signal_button_release_event().connect (sigc::mem_fun(*this, &Editor::edit_controls_button_release));
-       controls_layout_size_request_connection = controls_layout.signal_size_request().connect (sigc::mem_fun (*this, &Editor::controls_layout_size_request));
 
        _cursors = new MouseCursors;
 
@@ -1524,16 +1523,18 @@ Editor::build_track_region_context_menu ()
        region_edit_menu_split_item = 0;
        region_edit_menu_split_multichannel_item = 0;
 
+       /* we might try to use items that are currently attached to a crossfade menu,
+          so clear that, too.
+       */
+       track_crossfade_context_menu.items().clear ();
+
        RouteTimeAxisView* rtv = dynamic_cast<RouteTimeAxisView*> (clicked_axisview);
 
        if (rtv) {
                boost::shared_ptr<Track> tr;
                boost::shared_ptr<Playlist> pl;
 
-               /* Don't offer a region submenu if we are in internal edit mode, as we don't select regions in this
-                  mode and so offering region context is somewhat confusing.
-               */
-               if ((tr = rtv->track()) && ((pl = tr->playlist())) && !internal_editing()) {
+               if ((tr = rtv->track()) && ((pl = tr->playlist()))) {
                        framepos_t const framepos = (framepos_t) floor ((double) get_preferred_edit_position() * tr->speed());
                        uint32_t regions_at = pl->count_regions_at (framepos);
                        add_region_context_items (edit_items, regions_at > 1);
@@ -1552,6 +1553,11 @@ Editor::build_track_crossfade_context_menu ()
        MenuList& edit_items  = track_crossfade_context_menu.items();
        edit_items.clear ();
 
+       /* we might try to use items that are currently attached to a crossfade menu,
+          so clear that, too.
+       */
+       track_region_context_menu.items().clear ();
+
        AudioTimeAxisView* atv = dynamic_cast<AudioTimeAxisView*> (clicked_axisview);
 
        if (atv) {
@@ -1716,7 +1722,7 @@ Editor::add_region_context_items (Menu_Helpers::MenuList& edit_items, bool multi
        }
 
        if (_popup_region_menu_item == 0) {
-               _popup_region_menu_item = new MenuItem (menu_item_name);
+               _popup_region_menu_item = manage (new MenuItem (menu_item_name));
                _popup_region_menu_item->set_submenu (*dynamic_cast<Menu*> (ActionManager::get_widget (X_("/PopupRegionMenu"))));
                _popup_region_menu_item->show ();
        } else {
@@ -2107,9 +2113,9 @@ Editor::set_state (const XMLNode& node, int /*version*/)
                }
        }
 
-       set_default_size (g.base_width, g.base_height);
+       //set_default_size (g.base_width, g.base_height);
        move (x, y);
-
+        
        if (_session && (prop = node.property ("playhead"))) {
                framepos_t pos;
                sscanf (prop->value().c_str(), "%" PRIi64, &pos);
@@ -4809,6 +4815,12 @@ Editor::region_view_added (RegionView *)
        _summary->set_dirty ();
 }
 
+void
+Editor::region_view_removed ()
+{
+       _summary->set_dirty ();
+}
+
 TimeAxisView*
 Editor::axis_view_from_route (boost::shared_ptr<Route> r) const
 {
@@ -4849,6 +4861,8 @@ Editor::handle_new_route (RouteList& routes)
        RouteTimeAxisView *rtv;
        list<RouteTimeAxisView*> new_views;
 
+        cerr << "Handle new route\n";
+
        for (RouteList::iterator x = routes.begin(); x != routes.end(); ++x) {
                boost::shared_ptr<Route> route = (*x);
 
@@ -4872,6 +4886,7 @@ Editor::handle_new_route (RouteList& routes)
                rtv->effective_gain_display ();
 
                rtv->view()->RegionViewAdded.connect (sigc::mem_fun (*this, &Editor::region_view_added));
+               rtv->view()->RegionViewRemoved.connect (sigc::mem_fun (*this, &Editor::region_view_removed));
        }
 
        _routes->routes_added (new_views);
@@ -5473,3 +5488,4 @@ Editor::notebook_tab_clicked (GdkEventButton* ev, Gtk::Widget* page)
 
        return true;
 }
+