diff options
author | Robin Gareus <robin@gareus.org> | 2016-01-10 00:25:04 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2016-01-10 00:28:00 +0100 |
commit | eea8d8e6c0c36e210aeac156af36e19c14ef8f18 (patch) | |
tree | 39fdd189746842fb7dbb7ecdc3cd1602aa709784 | |
parent | 28f8b7d5d6bd99e97b495d68af766d9d980f2021 (diff) |
check sidebar re-order constrains early on.
-rw-r--r-- | gtk2_ardour/mixer_ui.cc | 10 |
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 ()) { |