projects
/
ardour.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
son't try to select non-existent notes after editing (and thus crash).
[ardour.git]
/
gtk2_ardour
/
time_axis_view.cc
diff --git
a/gtk2_ardour/time_axis_view.cc
b/gtk2_ardour/time_axis_view.cc
index 8ddc2e51ca6faa11757bfd09924b29ef13831a80..84eab4a6efd86f359e82785246303f49910707f5 100644
(file)
--- a/
gtk2_ardour/time_axis_view.cc
+++ b/
gtk2_ardour/time_axis_view.cc
@@
-738,7
+738,10
@@
TimeAxisView::popup_display_menu (guint32 when)
conditionally_add_to_selection ();
build_display_menu ();
conditionally_add_to_selection ();
build_display_menu ();
- display_menu->popup (1, when);
+
+ if (!display_menu->items().empty()) {
+ display_menu->popup (1, when);
+ }
}
void
}
void
@@
-748,7
+751,7
@@
TimeAxisView::set_selected (bool yn)
return;
}
return;
}
-
Selectable
::set_selected (yn);
+
AxisView
::set_selected (yn);
if (_selected) {
time_axis_frame.set_shadow_type (Gtk::SHADOW_IN);
if (_selected) {
time_axis_frame.set_shadow_type (Gtk::SHADOW_IN);
@@
-929,6
+932,8
@@
TimeAxisView::order_selection_trims (ArdourCanvas::Item *item, bool put_start_on
}
}
}
}
+// retuned rect is pushed back into the used_selection_rects list
+// in TimeAxisView::show_selection() which is the only caller.
SelectionRect *
TimeAxisView::get_selection_rect (uint32_t id)
{
SelectionRect *
TimeAxisView::get_selection_rect (uint32_t id)
{
@@
-938,7
+943,9
@@
TimeAxisView::get_selection_rect (uint32_t id)
for (list<SelectionRect*>::iterator i = used_selection_rects.begin(); i != used_selection_rects.end(); ++i) {
if ((*i)->id == id) {
for (list<SelectionRect*>::iterator i = used_selection_rects.begin(); i != used_selection_rects.end(); ++i) {
if ((*i)->id == id) {
- return (*i);
+ SelectionRect* ret = (*i);
+ used_selection_rects.erase (i);
+ return ret;
}
}
}
}