summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/canvas-simplerect.c4
-rw-r--r--gtk2_ardour/editor_ops.cc9
-rw-r--r--gtk2_ardour/selection.cc2
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 ();
}