1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
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
|