View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0003471 | ardour | bugs | public | 2010-09-21 20:45 | 2020-04-19 20:14 |
| Reporter | interferon | Assigned To | paul | ||
| Priority | normal | Severity | crash | Reproducibility | always |
| Status | closed | Resolution | fixed | ||
| Product Version | SVN/2.0-ongoing | ||||
| Target Version | 2.8.12 | ||||
| Summary | 0003471: [PATCH] When two overlapped regions are selected, Ardour crashes | ||||
| Description | What to do to reproduce the bug: 1) In an audio track, put a block of audio anywhere in the timeline after 8th-9th minute 2) Duplicate the region 3) Overlap the two regions, so that a crossfading exists 4) With 'shift' pressed, left-click on the not overlapped part of the first region, then on the overlapped part 5) Ardour crashes with a Segmentation fault error | ||||
| Additional Information | Ardour 2.0 SVN (rev. 7819) Kubuntu 10.04.1 64-bit OpenBox WM | ||||
| Tags | No tags attached. | ||||
|
2010-09-21 21:19
|
3471-backtrace.txt (3,590 bytes)
#0 0x087e0d1a in TimeAxisViewItem::get_time_axis_view (this=0x0) at gtk2_ardour/time_axis_view_item.cc:539
#1 0x08605276 in Editor::set_selected_regionview_from_click (this=0x8d7ad18, press=true, op=Selection::Extend, no_track_remove=true)
at gtk2_ardour/editor_selection.cc:644
#2 0x085ad6f1 in Editor::button_selection (this=0x8d7ad18, item=0x9106af8, event=0x90822d0, item_type=RegionItem) at gtk2_ardour/editor_mouse.cc:438
#3 0x085adac5 in Editor::button_press_handler (this=0x8d7ad18, item=0x9106af8, event=0x90822d0, item_type=RegionItem) at gtk2_ardour/editor_mouse.cc:520
#4 0x0859075d in Editor::canvas_region_view_event (this=0x8d7ad18, event=0x90822d0, item=0x9106af8, rv=0x9106b18) at gtk2_ardour/editor_canvas_events.cc:254
#5 0x08591309 in Editor::canvas_crossfade_view_event (this=0x8d7ad18, event=0x90822d0, item=0x911e130, xfv=0x911e000) at gtk2_ardour/editor_canvas_events.cc:585
#6 0x084f31ae in sigc::bound_mem_functor3<bool, PublicEditor, _GdkEvent*, Gnome::Canvas::Item*, CrossfadeView*>::operator() (this=0x911e4e8, _A_a1=@0xbfffe674,
_A_a2=@0xbfffe5bc, _A_a3=@0x911e4fc) at libs/sigc++2/sigc++/functors/mem_fun.h:1985
#7 0x084f2f5b in sigc::adaptor_functor<sigc::bound_mem_functor3<bool, PublicEditor, _GdkEvent*, Gnome::Canvas::Item*, CrossfadeView*> >::operator()<_GdkEvent* const&, Gnome::Canvas::Group*&, CrossfadeView*&> (this=0x911e4e4, _A_arg1=@0xbfffe674, _A_arg2=@0x911e4f8, _A_arg3=@0x911e4fc)
at libs/sigc++2/sigc++/adaptors/adaptor_trait.h:123
#8 0x084f2c6c in sigc::bind_functor<-1, sigc::bound_mem_functor3<bool, PublicEditor, _GdkEvent*, Gnome::Canvas::Item*, CrossfadeView*>, Gnome::Canvas::Group*, CrossfadeView*, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>::operator()<_GdkEvent* const&> (this=0x911e4e0, _A_arg1=@0xbfffe674)
at libs/sigc++2/sigc++/adaptors/bind.h:1336
#9 0x084f28a1 in sigc::internal::slot_call1<sigc::bind_functor<-1, sigc::bound_mem_functor3<bool, PublicEditor, _GdkEvent*, Gnome::Canvas::Item*, CrossfadeView*>, Gnome::Canvas::Group*, CrossfadeView*, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, bool, _GdkEvent*>::call_it (rep=0x911e4c8, a_1=@0xbfffe674)
at libs/sigc++2/sigc++/functors/slot.h:137
#10 0x012fbd83 in sigc::slot1<bool, _GdkEvent*>::operator() (this=0x911c534, _A_a1=@0xbfffe674) at libs/sigc++2/sigc++/functors/slot.h:515
#11 0x015df679 in Item_signal_event_callback (self=0x90bca28, p0=0x90822d0, data=0x911c530) at libs/libgnomecanvasmm/libgnomecanvasmm/item.cc:138
#12 0x01595104 in gnome_canvas_marshal_BOOLEAN__BOXED () from /usr/lib/libgnomecanvas-2.so.0
#13 0x00987252 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#14 0x0099bd90 in ?? () from /usr/lib/libgobject-2.0.so.0
#15 0x0099cc33 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#16 0x0099d256 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#17 0x01590a09 in ?? () from /usr/lib/libgnomecanvas-2.so.0
#18 0x012f2008 in Gtk::Widget_Class::button_press_event_callback (self=0x8db8030, p0=0x9081298) at libs/gtkmm2/gtk/gtkmm/widget.cc:3768
#19 0x00c45424 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#20 0x009858b9 in ?? () from /usr/lib/libgobject-2.0.so.0
#21 0x00987252 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#22 0x0099b5e6 in ?? () from /usr/lib/libgobject-2.0.so.0
#23 0x0099cc33 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#24 0x0099d256 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#25 0x00d72636 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#26 0x00c3da5d in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0
|
|
2010-09-22 00:25
|
3471.patch (1,205 bytes)
diff --git a/gtk2_ardour/editor_selection.cc b/gtk2_ardour/editor_selection.cc
index 37f9968..fd8e5d1 100644
--- a/gtk2_ardour/editor_selection.cc
+++ b/gtk2_ardour/editor_selection.cc
@@ -611,8 +611,8 @@ Editor::set_selected_regionview_from_click (bool press, Selection::Operation op,
*/
- first_frame = entered_regionview->region()->position();
- last_frame = entered_regionview->region()->last_frame();
+ first_frame = clicked_regionview->region()->position();
+ last_frame = clicked_regionview->region()->last_frame();
for (RegionSelection::iterator i = selection->regions.begin(); i != selection->regions.end(); ++i) {
if ((*i)->region()->position() < first_frame) {
@@ -639,9 +639,9 @@ Editor::set_selected_regionview_from_click (bool press, Selection::Operation op,
the this one and any selected ones.
*/
- if (!selection->selected (entered_regionview)) {
+ if (!selection->selected (clicked_regionview)) {
- AudioTimeAxisView* atv = dynamic_cast<AudioTimeAxisView*> (&entered_regionview->get_time_axis_view());
+ AudioTimeAxisView* atv = dynamic_cast<AudioTimeAxisView*> (&clicked_regionview->get_time_axis_view());
if (atv) {
|
|
|
The attached patch should fix this. |
|
|
Tried the patch, it perfectly works. Thank you. |
|
|
patch applied to 2.X, rev 7829, and 3.0, rev 7830 |
|
|
Issue has been closed automatically, by Trigger Close Plugin. Feel free to re-open with additional information if you think the issue is not resolved. |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2010-09-21 20:45 | interferon | New Issue | |
| 2010-09-21 20:59 | cth103 | Status | new => confirmed |
| 2010-09-21 21:19 | cth103 | File Added: 3471-backtrace.txt | |
| 2010-09-22 00:25 | cth103 | File Added: 3471.patch | |
| 2010-09-22 00:26 | cth103 | cost | => 0.00 |
| 2010-09-22 00:26 | cth103 | Note Added: 0009132 | |
| 2010-09-22 00:26 | cth103 | Assigned To | => paul |
| 2010-09-22 00:26 | cth103 | Target Version | => 2.8.12 |
| 2010-09-22 00:26 | cth103 | Summary | When two overlapped regions are selected, Ardour crashes => [PATCH] When two overlapped regions are selected, Ardour crashes |
| 2010-09-22 08:37 | interferon | Note Added: 0009135 | |
| 2010-09-22 12:38 | paul | Note Added: 0009136 | |
| 2010-09-22 12:38 | paul | Status | confirmed => resolved |
| 2010-09-22 12:38 | paul | Resolution | open => fixed |
| 2020-04-19 20:14 | system | Note Added: 0022232 | |
| 2020-04-19 20:14 | system | Status | resolved => closed |