summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-01-10 00:25:04 +0100
committerRobin Gareus <robin@gareus.org>2016-01-10 00:28:00 +0100
commiteea8d8e6c0c36e210aeac156af36e19c14ef8f18 (patch)
tree39fdd189746842fb7dbb7ecdc3cd1602aa709784
parent28f8b7d5d6bd99e97b495d68af766d9d980f2021 (diff)
check sidebar re-order constrains early on.
-rw-r--r--gtk2_ardour/mixer_ui.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/gtk2_ardour/mixer_ui.cc b/gtk2_ardour/mixer_ui.cc
index 470df1de08..348b23b57f 100644
--- a/gtk2_ardour/mixer_ui.cc
+++ b/gtk2_ardour/mixer_ui.cc
@@ -2538,6 +2538,16 @@ PluginTreeStore::row_drop_possible_vfunc(const Gtk::TreeModel::Path& dest, const
if (data.get_target() != "GTK_TREE_MODEL_ROW") {
return false;
}
+
+ // only allow to re-order top-level items
+ TreePath src;
+ if (TreePath::get_from_selection_data (data, src)) {
+ if (src.up() && src.up()) {
+ return false;
+ }
+ }
+
+ // don't allow to drop as child-rows.
Gtk::TreeModel::Path _dest = dest; // un const
const bool is_child = _dest.up (); // explicit bool for clang
if (!is_child || _dest.empty ()) {