diff options
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/canvas-simplerect.c | 4 | ||||
-rw-r--r-- | gtk2_ardour/editor_ops.cc | 9 | ||||
-rw-r--r-- | gtk2_ardour/selection.cc | 2 |
3 files changed, 10 insertions, 5 deletions
diff --git a/gtk2_ardour/canvas-simplerect.c b/gtk2_ardour/canvas-simplerect.c index e7a7488061..d50943f0c3 100644 --- a/gtk2_ardour/canvas-simplerect.c +++ b/gtk2_ardour/canvas-simplerect.c @@ -354,8 +354,8 @@ gnome_canvas_simplerect_reset_bounds (GnomeCanvasItem *item) gnome_canvas_request_redraw (item->canvas, unionrect.x0 - 0.5, unionrect.y0 - 0.5, - unionrect.x1 + 0.5, - unionrect.y1 + 0.5); + unionrect.x1 + 1.5, + unionrect.y1 + 1.5); } /* diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc index ba874fc7cf..e6c5790133 100644 --- a/gtk2_ardour/editor_ops.cc +++ b/gtk2_ardour/editor_ops.cc @@ -2811,19 +2811,21 @@ Editor::cut_copy_regions (CutCopyOp op) } boost::shared_ptr<AudioRegion> ar = boost::dynamic_pointer_cast<AudioRegion>((*x)->region()); + boost::shared_ptr<Region> _xx; switch (op) { case Cut: if (!ar) break; - npl->add_region (RegionFactory::create (ar), (*x)->region()->position() - first_position); + _xx = RegionFactory::create ((*x)->region()); + npl->add_region (_xx, (*x)->region()->position() - first_position); pl->remove_region (((*x)->region())); break; case Copy: if (!ar) break; - npl->add_region (RegionFactory::create (ar), (*x)->region()->position() - first_position); + npl->add_region ((*x)->region(), (*x)->region()->position() - first_position); break; case Clear: @@ -2843,10 +2845,11 @@ Editor::cut_copy_regions (CutCopyOp op) foo.push_back ((*i).pl); } + if (!foo.empty()) { cut_buffer->set (foo); } - + for (set<PlaylistState, lt_playlist>::iterator pl = freezelist.begin(); pl != freezelist.end(); ++pl) { (*pl).playlist->thaw (); session->add_command (new MementoCommand<Playlist>(*(*pl).playlist, (*pl).before, &(*pl).playlist->get_state())); diff --git a/gtk2_ardour/selection.cc b/gtk2_ardour/selection.cc index 8a9d27a4ed..2b1b522d12 100644 --- a/gtk2_ardour/selection.cc +++ b/gtk2_ardour/selection.cc @@ -131,6 +131,8 @@ Selection::clear_playlists () /* Selections own their playlists */ for (PlaylistSelection::iterator i = playlists.begin(); i != playlists.end(); ++i) { + /* selections own their own regions, which are copies of the "originals". make them go away */ + (*i)->drop_regions (); (*i)->release (); } |