fix up region-list => canvas drags, given changes in DnDTreeView
authorPaul Davis <paul@linuxaudiosystems.com>
Tue, 25 Nov 2008 00:46:26 +0000 (00:46 +0000)
committerPaul Davis <paul@linuxaudiosystems.com>
Tue, 25 Nov 2008 00:46:26 +0000 (00:46 +0000)
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@4246 d708f5d6-7413-0410-9779-e7cbd77b26cf

gtk2_ardour/editor_canvas.cc

index c30320122f15c8e23a94b711a2bdb2a924b539f8..c5cb652e66918c16d9a76fd7c0583677abd7a796 100644 (file)
@@ -544,15 +544,14 @@ Editor::drop_regions (const RefPtr<Gdk::DragContext>& context,
                      const SelectionData& data,
                      guint info, guint time)
 {
-       const SerializedObjectPointers<boost::shared_ptr<Region> >* sr = 
-               reinterpret_cast<const SerializedObjectPointers<boost::shared_ptr<Region> > *> (data.get_data());
+       std::list<boost::shared_ptr<Region> > regions;
+       region_list_display.get_object_drag_data (regions);
 
-       for (uint32_t i = 0; i < sr->cnt; ++i) {
+       for (list<boost::shared_ptr<Region> >::iterator r = regions.begin(); r != regions.end(); ++r) {
 
-               boost::shared_ptr<Region> r = sr->data[i];
                boost::shared_ptr<AudioRegion> ar;
 
-               if ((ar = boost::dynamic_pointer_cast<AudioRegion>(r)) != 0) {
+               if ((ar = boost::dynamic_pointer_cast<AudioRegion>(*r)) != 0) {
                        insert_region_list_drag (ar, x, y);
                }
        }