View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0003300 | ardour | bugs | public | 2010-07-03 19:28 | 2020-04-19 20:14 |
| Reporter | lincoln | Assigned To | cth103 | ||
| Priority | normal | Severity | crash | Reproducibility | always |
| Status | closed | Resolution | fixed | ||
| Target Version | 3.0-beta1 | ||||
| Summary | 0003300: Crash on certain region operations with shift+click and no region selection | ||||
| Description | Ardour will crash if you try to trim a region or even adjust the region fade if no region is selected and the operation is initiated as a shift+click. The attached patch fixes this issue. | ||||
| Tags | No tags attached. | ||||
|
2010-07-03 19:28
|
modifier_guard_on_mouse_ops.patch (1,916 bytes)
Index: gtk2_ardour/editor_mouse.cc
===================================================================
--- gtk2_ardour/editor_mouse.cc (revision 7363)
+++ gtk2_ardour/editor_mouse.cc (working copy)
@@ -444,7 +444,7 @@
if (event->type == GDK_BUTTON_PRESS || event->type == GDK_BUTTON_RELEASE) {
if ((event->button.state & Keyboard::RelevantModifierKeyMask) && event->button.button != 1) {
-
+
/* almost no selection action on modified button-2 or button-3 events */
if (item_type != RegionItem && event->button.button != 2) {
@@ -466,9 +466,6 @@
selection->clear_tracks ();
set_selected_track_as_side_effect (true);
}
- if (_join_object_range_state == JOIN_OBJECT_RANGE_OBJECT && !selection->regions.empty()) {
- clicked_selection = select_range_around_region (selection->regions.front());
- }
break;
@@ -476,10 +473,13 @@
case RegionViewName:
case LeftFrameHandle:
case RightFrameHandle:
- if (mouse_mode != MouseRange || internal_editing() || _join_object_range_state == JOIN_OBJECT_RANGE_OBJECT) {
- set_selected_regionview_from_click (press, op, true);
+ //We are not extending selection here guard aganst modifiers
+ op = Selection::Set;
+
+ if (mouse_mode != MouseRange || internal_editing() || _join_object_range_state == JOIN_OBJECT_RANGE_OBJECT) {
+ set_selected_regionview_from_click (press, op, true);
} else if (event->type == GDK_BUTTON_PRESS) {
- set_selected_track_as_side_effect ();
+ set_selected_track_as_side_effect ();
}
break;
@@ -488,6 +488,9 @@
case FadeInItem:
case FadeOutHandleItem:
case FadeOutItem:
+ //We are not extending selection here guard aganst modifiers
+ op = Selection::Set;
+
if (mouse_mode != MouseRange || _join_object_range_state == JOIN_OBJECT_RANGE_OBJECT) {
set_selected_regionview_from_click (press, op, true);
} else if (event->type == GDK_BUTTON_PRESS) {
|
|
|
This should be fixed in SVN 7372; I went a slightly different way which I think is more general. |
|
|
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-07-03 19:28 | lincoln | New Issue | |
| 2010-07-03 19:28 | lincoln | File Added: modifier_guard_on_mouse_ops.patch | |
| 2010-07-04 11:37 | cth103 | cost | => 0.00 |
| 2010-07-04 11:37 | cth103 | Target Version | => 3.0-beta1 |
| 2010-07-05 00:31 | cth103 | Status | new => confirmed |
| 2010-07-05 01:54 | cth103 | Note Added: 0008391 | |
| 2010-07-05 01:54 | cth103 | Status | confirmed => resolved |
| 2010-07-05 01:54 | cth103 | Resolution | open => fixed |
| 2010-07-05 01:54 | cth103 | Assigned To | => cth103 |
| 2010-07-05 01:55 | cth103 | Note Edited: 0008391 | |
| 2020-04-19 20:14 | system | Note Added: 0022151 | |
| 2020-04-19 20:14 | system | Status | resolved => closed |