Description: Convert an assert to action; tricky:
 The assert triggers if the user click-holds on a checkbox in
 an instrument then moves the mouse, which triggers Qt’s stupid
 idea to interpret dragging in nōn-drag/droppable QTreeWidget
 as beginning to select, causing the select to trigger before
 the current item is updated (this isn’t a multiselect); via
 https://lists.qt-project.org/pipermail/interest/2012-October/004241.html
 this is not disablable, so just nope out as good as we can
 instead, hope that subsequent interaction fixes this. (This
 MIGHT leave the buttons inoperable on a selected item, but…)
Author: mirabilos <tg@debian.org>
Forwarded: not-yet
Justification: upstream only cares about 4.x these days
 (perhaps to 3.7?)

--- a/mscore/instrwidget.cpp
+++ b/mscore/instrwidget.cpp
@@ -503,6 +503,7 @@ void InstrumentsWidget::on_partiturList_
       {
       QList<QTreeWidgetItem*> wi = partiturList->selectedItems();
       if (wi.isEmpty()) {
+ nope:
             removeButton->setEnabled(false);
             upButton->setEnabled(false);
             downButton->setEnabled(false);
@@ -511,7 +512,8 @@ void InstrumentsWidget::on_partiturList_
             return;
             }
       QTreeWidgetItem* item = wi.front();
-      Q_ASSERT(partiturList->currentItem() == item);
+      if (partiturList->currentItem() != item)
+            goto nope;
       bool flag = item != nullptr;
 
       int count = 0; // item can be hidden
